如果用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 }