隐式Intent发送前需要先检验

Posted peter-sun

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了隐式Intent发送前需要先检验相关的知识,希望对你有一定的参考价值。

如果用startActivity()或者startActivityForResult()发出一个隐式Intent,而设备中又没有可以可以相应的应用,那应用就会崩溃,所以我们在发送意图之前可以先使用Intent对象的resolveActivity()方法来检测一下

1 public void click(View view) {
2         Intent intent = new Intent();
3         intent.setAction("telsd/");
4         if (intent.resolveActivity(getPackageManager()) != null) {
5             startActivity(intent);
6         } else {
7             Toast.makeText(getApplicationContext(), "没有可以调用的设备", Toast.LENGTH_SHORT).show();
8         }
9     }

 

以上是关于隐式Intent发送前需要先检验的主要内容,如果未能解决你的问题,请参考以下文章

片段创建的 Intent 不会触发 onNewIntent

显式intent和隐式intent

显式Intent与隐式Intent的使用

android小知识点代码片段

java [Intent] Intent片段以启动Activity,Service或发送广播。 #android_snippet #android

判断隐式intent跳转是否有判断有匹配的activity