当自己的应用需要与其他的应用进行交互时,一般做法是通过Intent意图。
我们一般的做法是(发送Email为例):
Intent it = new Intent(Intent.ACTION_SEND);
it.putExtra(Intent.EXTRA_SUBJECT, "The email subject text");it.putExtra(Intent.EXTRA_STREAM, "file:///sdcard/eoe.mp3");
sendIntent.setType("audio/mp3");
startActivity(it);
粗看这个没什么问题,但当不存在相应的应用来处理时就会出问题。
这时我们有两种办法处理,一种捕获上述代码的异常,另一种如下:
Intent it = new Intent(Intent.ACTION_SEND);
it.putExtra(Intent.EXTRA_SUBJECT, "The email subject text");
it.putExtra(Intent.EXTRA_STREAM, "file:///sdcard/eoe.mp3");
sendIntent.setType("audio/mp3");
startActivity(Intent.createChooser(it, "Choose Email Client"));
本人系菜鸟,大神勿喷。