在问这个问题之前,我做了很多搜索。但是这里没有一个答案对我有用:
onNewIntent 没有被调用,
onNewIntent 没有在重启时被调用,
onNewIntent() 在某些设备中没有被调用,
我的 onNewIntent 没有调用
我正在研究NotificationManager
我的要求是打开一个Activity
带有通过该通知接收到的值的通知。
我在设置意图时尝试了以下代码:
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。
问题:
- 你们过去有没有遇到过类似的问题?
- 我如何解决它?
- 我最大的好奇心在于“API 如何才能特定于设备?”
- 我可以依赖
onNewIntent
API 还是应该寻找替代方案?正如所观察到的,似乎此问题并未在所有设备上重现。而且我无法在所有设备上测试其可靠性。