码迷,mamicode.com
首页 > 其他好文 > 详细

隐式Intent发送前需要先检验

时间:2018-01-24 13:56:23      阅读:168      评论:0      收藏:0      [点我收藏+]

标签:tap   设备   对象   一个   cli   隐式intent   res   activity   null   

如果用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发送前需要先检验

标签:tap   设备   对象   一个   cli   隐式intent   res   activity   null   

原文地址:https://www.cnblogs.com/peter-sun/p/8341094.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!