java – 为什么onNewIntent(Intent intent)方法被调用两次?
发布时间:2020-12-15 03:10:55 所属栏目:Java 来源:网络整理
导读:我用两个参数开始一个新活动. Intent intent = new Intent(WebTestActivity.this,MainActivity.class);intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP | Intent.FLAG_ACTIVITY_CLEAR_TOP); Uri uri = Uri.parse(url);intent.setData(uri);startActivity(i
我用两个参数开始一个新活动.
Intent intent = new Intent(WebTestActivity.this,MainActivity.class); intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP | Intent.FLAG_ACTIVITY_CLEAR_TOP); Uri uri = Uri.parse(url); intent.setData(uri); startActivity(intent); 并在onNewIntent方法中捕获uri. @Override public void onNewIntent(Intent intent) { //calls twice super.onNewIntent(intent); Uri uri = intent.getData(); new AsynkTask().execute(uri); } } 但onNewIntent方法由于某种未知原因而被调用两次,这似乎是不正确的. 解决方法Intent intent = new Intent(WebTestActivity.this,MainActivity.class); intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP | Intent.FLAG_ACTIVITY_CLEAR_TOP); intent.putExtra("url",url); startActivity(intent) 在MainActivity中; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Bundle extras = getIntent().getExtras(); String url = extras.getString(url); } 然后,您可以解析URL并使用Uri.通过这种方式,方法将不会被调用两次. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- java – 静态初始化程序与实例初始化程序与构造函数
- 一个专科生学习JAVA目标月薪2万是否不切实际?
- 如何使用Java 6针对Java 1.4库构建Java项目?
- Java递归遍历文件夹
- java – 为什么在.class文件的开头我们需要一个魔术数字?
- java – 无法从Netbeans 8.0.1服务区域内启动GlassFish 4.1
- java – 任何方式恢复Netbeans 7.2书签导航旧样式?
- Java – JMS(或任何消息传递解决方案)适用于跟随者/跟随模
- Hibernate Query接口 setParameter方法:绑定任意类型的参数
- java – 如何将所有偶数移动到数组的前面?