我有活动A,即MAIN和活动B,这是我用于应用程序的另一个活动。现在,我只想在NFC标签调用时执行应用程序B.
我写了一个NFC标签,运行应用程序com.test.nfc)“(这是我的测试应用程序的包)。它工作,但它运行MAIN(活动A)当然,并不是我的想。
如果我使用NFC,我希望主应用程序将是活动B(我重申,只有当我使用NFC运行应用程序时)。有什么办法吗?
我尝试使用PlayStore中的Tasker应用程序启动活动,但只有在安装此应用程序时才有效,如果我卸载它,它就不再起作用了。
答案 0 :(得分:1)
只需在您的manifest.xml
上设置要在NFC上运行的活动的intent-filter <activity
android:name="com.activity.a"
android:label="@string/app_name"
android:screenOrientation="portrait" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name="com.activity.b"
android:screenOrientation="portrait" >
<intent-filter>
<action android:name="android.nfc.action.NDEF_DISCOVERED" />
<category android:name="android.intent.category.DEFAULT" />
<data
android:host="ext"
android:pathPrefix="/com.example:ddcnfc"
android:scheme="vnd.android.nfc" />
</intent-filter>
</activity>
在上面的示例中,activty A从Launcher运行,来自NFC的激活B.
然后在activty B类的onResume函数中,
@Override
public void onResume() {
super.onResume();
if (NfcAdapter.ACTION_NDEF_DISCOVERED.equals(getIntent().getAction())) {
//Your initialization goes here
}
}