我想实现"从网络推出应用程序"我的网页上有2个随时可用的链接。打开任一链接都会调用活动SchemeRedirectActivity
并获得正确的意图。问题是当我分别在手机浏览器中存储(不要关闭)链接时:
从浏览器打开一个链接>按Recent Apps
键(例如设备上正确的硬件密钥)>打开另一个链接,
除了第一次打开每个链接外,getIntent()
总是给我一个旧的意图。
清单:
<activity
android:name=".SchemeRedirectActivity"
android:screenOrientation="sensorPortrait">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.BROWSABLE" />
</intent-filter>
</activity>
SchemeRedirectActivity:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
intent = getIntent(); //always got the old intent here
Uri data = intent.getData();
}
来自互联网的解决方案不适用于我的案例,即使我向清单文件添加android:launchMode="singleTask"
/ "singleTop"
,我的onNewIntent()
也从未启动:
@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
Log.d("intent", "onNewIntent "); //never launched
Uri data = intent.getData();
}
该过程有什么问题,我该如何解决? *对不起,如果我的问题不明确,谢谢。