隐式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     }

 

posted @ 2018-01-24 12:44  Ray_Sun  阅读(131)  评论(0)    收藏  举报