相关疑难解决方法(0)

如何恢复Android应用程序而不会丢失具有深层链接的活动堆栈(或应用程序状态)?

我有这个<intent-filter>,每次按下某个链接它打开我的应用程序但问题是它打开我的应用程序的实例.反正有没有触发onResume()并只是恢复我的应用程序而不会丢失其状态或活动堆栈?

这是意图过滤器:

        <intent-filter>
            <data android:scheme="http" />
            <data android:scheme="https" />
            <data android:host="example.com" />
            <data android:pathPattern="/.*" />

            <action android:name="android.intent.action.VIEW" />

            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.BROWSABLE" />
        </intent-filter>
Run Code Online (Sandbox Code Playgroud)

更新

感谢用户David Wasser在下面回答我找到答案:

所以我创建了在gmail/inbox应用程序之上启动的EntryActivity:

public class EntryActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.entry_activity);

        Uri uriParams = getIntent().getData();

        Log.e("EntryActivity", uriParams.getHost() );
        Log.e("EntryActivity", uriParams.getQueryParameter("uid") + " " + uriParams.getQueryParameter("type") + " " + uriParams.getQueryParameter("token") );


        Intent startCategory = new Intent(this, GotEmailActivity.class);
        startCategory.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        startActivity(startCategory);
        this.finish();
    }

}
Run Code Online (Sandbox Code Playgroud)

然后当我的应用程序在GotEmailActivity打开时,我向用户发送电子邮件,其中包含打开应用程序的链接,而GotEmailActivity …

android android-manifest android-intent android-lifecycle android-activity

4
推荐指数
1
解决办法
2348
查看次数