Android 在特定任务中使用NFC启动活动
我的应用程序包含许多活动。其中一个活动响应NFC意图过滤器以及标准意图,但是,此活动在其自己的任务中启动,而不是在与应用程序相同的任务中启动。当NFC意图启动时,应用程序不一定在运行,但如果是,我希望活动在同一任务中启动,以确保无缝的用户体验。目前,该应用程序的运行方式似乎有两个应用程序正在运行 以下是我的NFC活动清单:Android 在特定任务中使用NFC启动活动,android,android-intent,nfc,Android,Android Intent,Nfc,我的应用程序包含许多活动。其中一个活动响应NFC意图过滤器以及标准意图,但是,此活动在其自己的任务中启动,而不是在与应用程序相同的任务中启动。当NFC意图启动时,应用程序不一定在运行,但如果是,我希望活动在同一任务中启动,以确保无缝的用户体验。目前,该应用程序的运行方式似乎有两个应用程序正在运行 以下是我的NFC活动清单: <activity android:name="name.subname.app.activity.ItemSummaryActivity"
<activity
android:name="name.subname.app.activity.ItemSummaryActivity"
android:label="@string/title_activity_item_summary" >
<intent-filter>
<action android:name="android.nfc.action.NDEF_DISCOVERED" />
<data android:mimeType="application/vnd.name.nfcdemo" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="text/plain" />
</intent-filter>
</activity>
是否可以在现有任务中启动活动(如果存在)?我在这里看到两个选项: 1) 将android:launchMode=“singleTask”添加到清单中的活动标记:
<activity
android:name="name.subname.app.activity.ItemSummaryActivity"
android:label="@string/title_activity_item_summary"
android:launchMode="singleTask" >
:
系统在新任务的根目录下创建活动,并将意图路由到该任务。但是,如果活动的实例已经存在,系统将通过调用其方法将意图路由到现有实例,而不是创建新实例
2) 为startActivity()
intent提供标志。但是,如果这个活动是由NFC触发的(并且使用这个选项是不可行的),考虑一下该怎么说。< /P>添加<代码> Android:启动模式=“StuttLASK”<代码>到活动标签。或者,您也可以提供Intent.FLAG\u ACTIVITY\u FRONT\u
FLAG到您的startActivity()
Intent您在谈论主机卡模拟吗?如果是,则可以删除
,这样它就不会从单独的任务开始。然后,您可以在清单中注册服务,这样就不需要从“活动”运行服务。A会处理好的。嘿,鞋鼠,谢谢!回答这个问题,我会打勾的!:)