这是我的一段代码
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依赖相机的全部功能。
答案 0 :(得分:0)
您可以使用两种主要形式的意图。
显式意图指定了一个组件(通过setComponent(ComponentName)或setClass(Context,Class)),它提供了要运行的确切类。通常,这些信息不会包含任何其他信息,只是应用程序在用户与应用程序交互时启动各种内部活动的方式。
隐含意图尚未指定组件;相反,他们必须为系统包含足够的信息,以确定哪个可用组件最适合该意图运行。
所以你可以使用明确的意图。
intent.setComponent(new ComponentName("com.android.camera", "com.android.camera.CameraButtonIntentReceiver"));
这将确保意图将被传递到默认的Camera应用程序。