如何检查一个应用程序是否可以访问其他应用程序

时间:2015-04-01 10:04:13

标签: java android

多个应用也可以启动其他应用。例如,通过联系人,我们可以启动相机,音乐,消息等。

我必须跟踪这些接口。任何想法都会有很大的帮助。

到目前为止我已经做过的事情。

  1. 检查清单文件中的权限。我在手机上安装了所有软件包,然后获得了它拥有的所有权限。
  2. 检查清单文件中的所有“使用功能”。
  3. 问题是列表仍然不完整,因为大多数应用程序使用意图与其他应用程序交互。例如消息。

1 个答案:

答案 0 :(得分:2)

不,你不能这样做。应用程序与另一个应用程序交互,在大多数情况下它使用Intent。就像您想使用相机拍照或通过图库选择图片一样,代码可能如下所示:
用相机拍照:

Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(new File(Environment
                .getExternalStorageDirectory(),"temp.jpg")));
startActivityForResult(intent, PHOTO_GRAPH);


通过图库选择图片:

Intent intent = new Intent(Intent.ACTION_PICK, null);
intent.setDataAndType(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, IMAGE_UNSPECIFIED);
startActivityForResult(intent, PHOTO_ZOOM);

因此,如果要跟踪这些接口,则需要检测Intent而不是AndroidManifest.xml