来自应用程序启动器的Android onNewIntent给了我最后的意图



我有一个SingleTask应用程序,可以监听"测试"方案。

如果我点击按钮(参见代码),我会重新启动自己,onNewIntent会被调用,给我"测试"意图(现在我可能会通过推送碎片来对此做出反应)

现在,如果我按home,然后打开应用程序启动器并重新输入我的应用程序,我希望调用onNewIntent,但意图为空,因为我不想重做我的操作(例如推送碎片)。但onNewIntent给了我启动活动的最后一个意图,那就是"测试"意图。

我应该怎么做才能防止推送同一个碎片?有没有一种不用我自己的id的好方法。

public class OnNewIntentTestActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    Log.e("", "on create");
    ((Button) findViewById(R.id.button1)).setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            Log.e("", "Relaunch activity");
            startActivity(new Intent(Intent.ACTION_VIEW,  Uri.parse("testing://hello")));
        }
    });
}
@Override
protected void onNewIntent(Intent intent) {
    super.onNewIntent(intent);
    Log.e("", "onNewIntent: " + (intent == null? "none" : (intent.getAction() + ":" + intent.getData())));
}
}

setIntent(null);在onNewIntent 中获得所需数据后

相关内容

  • 没有找到相关文章

最新更新