首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >未触发onNewIntent

未触发onNewIntent
EN

Stack Overflow用户
提问于 2018-05-14 21:42:19
回答 1查看 450关注 0票数 2

我正在使用intent filter为我的应用程序捕获自定义方案:

代码语言:javascript
复制
<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>

在我的活动中,我覆盖了:

代码语言:javascript
复制
@Override
protected void onNewIntent(Intent intent) {
    Log.d("DEBUG", "New intent!");
    super.onNewIntent(intent);
}

但这永远不是called...where,我错了吗?是否需要noHistory标志?如果我去掉它,堆栈上就会有两个相同活动的副本。

EN

回答 1

Stack Overflow用户

发布于 2018-05-14 22:16:14

下面的代码对我来说很好用

代码语言:javascript
复制
<activity android:name=".MainActivity"
        android:launchMode="singleTop">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
            <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>
代码语言:javascript
复制
 public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    Intent intent = new Intent(this,MainActivity.class);
    startActivity(intent);

}

@Override
protected void onNewIntent(Intent intent) {
    super.onNewIntent(intent);
    Log.d("DEBUG", "New intent!");
}}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50331836

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档