【发布时间】:2018-05-14 13:42:18
【问题描述】:
我正在使用意图过滤器为我的应用捕获自定义方案:
<activity
android:name=".activities.MyActivity"
android:configChanges="keyboardHidden|orientation|screenSize"
android:label="@string/title_my_activity"
android:launchMode="singleTop"
android:noHistory="true"
android:screenOrientation="portrait">
<!-- myapp://app.open -->
<intent-filter android:label="@string/my_intent">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="myapp" />
<data android:host="app" />
<data android:host="app.open" />
</intent-filter>
</activity>
在我的活动中我覆盖:
@Override
protected void onNewIntent(Intent intent) {
Log.d("DEBUG", "New intent!");
super.onNewIntent(intent);
}
但这从来没有被调用过……我哪里错了? noHistory 标志是必要的吗?如果我删除它,我在堆栈上有两个相同活动的副本。
【问题讨论】:
-
用
android:launchMode="singleTask"怎么样? -
似乎有效,除了 onResume 被调用了两次......您能否在答案中详细说明原因?非常感谢。
-
你的应用中还有其他活动吗?
标签: android android-intent android-activity android-lifecycle url-scheme