如何从预定义的相机应用程序中过滤用户安装的相机应用

时间:2013-03-08 04:16:13

标签: java android

这是我的一段代码

Intent cameraintent= new Intent();
cameraintent.setAction(Intent.ACTION_CAMERA_BUTTON);
cameraintent.putExtra(Intent.EXTRA_KEY_EVENT, new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_CAMERA));
sendOrderedBroadcast(cameraintent, null);

但它列出了所有相机应用程序。我想过滤它。另外一个问题我需要实现OS依赖相机的全部功能。

1 个答案:

答案 0 :(得分:0)

您可以使用两种主要形式的意图。

显式意图指定了一个组件(通过setComponent(ComponentName)或setClass(Context,Class)),它提供了要运行的确切类。通常,这些信息不会包含任何其他信息,只是应用程序在用户与应用程序交互时启动各种内部活动的方式。

隐含意图尚未指定组件;相反,他们必须为系统包含足够的信息,以确定哪个可用组件最适合该意图运行。

所以你可以使用明确的意图。

intent.setComponent(new ComponentName("com.android.camera", "com.android.camera.CameraButtonIntentReceiver"));

这将确保意图将被传递到默认的Camera应用程序。