我有一个支持 NFC 的应用程序。如果我不从 NFC 标签启动它,它甚至可以从通知栏恢复正常,即使长按主页按钮也是如此。问题是当我使用 NFC 标签启动应用程序时。当我尝试恢复时,它会重新启动应用程序。有什么建议么?
这是我在清单文件中的启动器活动
<activity
android:name=".hmi.DebugPreferenceActivity"
android:label="@string/app_name"
android:theme="@style/AppTheme"
android:launchMode="singleInstance">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter>
<action android:name="android.nfc.action.TECH_DISCOVERED" />
</intent-filter>
<meta-data
android:name="android.nfc.action.TECH_DISCOVERED"
android:resource="@xml/filter_nfc" />
<intent-filter>
<action android:name="android.nfc.action.TAG_DISCOVERED" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
这是我创建通知的地方。
private void createNotification() {
Intent notificationIntent = new Intent(mContext, DebugPreferenceActivity.class);
notificationIntent.setAction(Intent.ACTION_MAIN);
notificationIntent.addCategory(Intent.CATEGORY_LAUNCHER);
PendingIntent pendingIntent = PendingIntent.getActivity(mContext, 0,
notificationIntent, 0);
NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(
this)
.setSmallIcon(R.drawable.app_icon)
.setContentTitle(
mContext.getResources().getString(R.string.app_name))
.setContentIntent(pendingIntent).setContentText(null);
mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
mBuilder.setOngoing(true);
mNotificationManager.notify(0, mBuilder.build());
}