意图
使用隐含意图的注意事项
在调用隐式意图时,检查系统是否可以处理隐藏意图总是有帮助的。
这可以通过使用 PackageManager.queryIntentActivities(Intent intent, int flags)
进行检查来完成
PackageManager pm = getActivity().getPackageManager();
if (intent.resolveActivity(pm) != null) {
//intent can be handled
startActivity(intent);
} else {
//intent can not be handled
}
开始活动,这是一个 singleTask
或 singleTop
当活动的启动模式为 singleTask
或 singleTop
时,只要活动以数据 null 启动,就会调用 onActivityResult
。要防止这种情况,请使用 Intent.setFlags(0)
重置默认标志。