在问这个问题之前,我做了很多搜索。但这里的答案都没有对我有用:
onNewIntent is not called,
onNewIntent not called on restart,
onNewIntent() not getting called in some devices,
my onNewIntent is not calling
我正在NotificationManager
工作,我的要求是通过该通知收到的值,在点击通知时打开Activity
。
我在设置intent时尝试了以下代码:
Intent notificationIntent = new Intent(context, MyActivity.class);
notificationIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);
我还在launchMode
中将singleTop
设为Manifest.xml
:
<activity android:name=".MyActivity" android:hardwareAccelerated="true" android:launchMode="singleTop">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data
android:host="www.google.com"
android:scheme="http" />
</intent-filter>
</activity>
问题似乎是设备特定的。我在Nexus 7
上尝试了相同的代码,并在那里调用了onNewIntent
。但某种程度上它不适用于Galaxy S4 。
问题:
onNewIntent
API还是应该寻找替代方案?正如所观察到的,似乎这个问题并没有在所有设备上重现。而且我无法在所有设备上测试其可靠性。