1 目的
许多应用程序需要与其他应用程序进行交互,如获取其他应用程序的资源、获取联系人中的电话号码等。本文的目的即
是与其他应用程序发生交互时的关键应用。
2 处理步骤
1)获取资源目标
2)确定是否有解决或访问目标支援的应用程序
3)如果有多个需要用户选择其中一个
4)处理
3 具体实现
// Build the intent
Uri webpage = Uri.parse("http://www.android.com");
Intent webIntent = new Intent(Intent.ACTION_VIEW, webpage);
// Verify it resolves
PackageManager packageManager = getPackageManager();
List<ResolveInfo> activities = packageManager.queryIntentActivities(webIntent, 0);
boolean isIntentSafe = activities.size() > 0;
String title = "请选择打开方式:";
// Create and start the chooser
Intent chooser = Intent.createChooser(webIntent, title);
// Start an activity if it's safe
if(isIntentSafe){
startActivity(chooser);
}else{
Toast.makeText(mContext, "没有可打开的应用程序", Toast.LENGTH_SHORT).show();
}