0
Intent intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE)
這個意圖將顯示攝像機列表中進行選擇,如果我已經安裝了其他相機的應用程序,所以我的問題是如何直接調用系統的攝像頭,不選別人。機器人如何拍照只能使用系統相機
Intent intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE)
這個意圖將顯示攝像機列表中進行選擇,如果我已經安裝了其他相機的應用程序,所以我的問題是如何直接調用系統的攝像頭,不選別人。機器人如何拍照只能使用系統相機
你可以試試這個,
Intent camIntent = new Intent("android.media.action.IMAGE_CAPTURE");
Intent systemCamIntent = new Intent(camIntent);
systemCamIntent.setComponent(new ComponentName("com.sec.android.app.camera", "com.sec.android.app.camera.Camera"));
startActivity(systemCamIntent);
您可以通過下面的代碼獲得相機的名單,那麼你應該創建一個邏輯,瞭解哪些是系統相機不同的房間。
List<Intent> yourIntentsList = new ArrayList<Intent>();
List<ResolveInfo> listCam = packageManager.queryIntentActivities(camIntent, 0);
for (ResolveInfo res : listCam) {
finalIntent = new Intent(camIntent);
finalIntent.setComponent(new ComponentName(res.activityInfo.packageName, res.activityInfo.name));
yourIntentsList.add(finalIntent);
}
謝謝,實際上現在我只是這樣處理。 – asfman
我覺得很難直接調用系統相機應用程序,因爲不同的ROM有不同的相機活動名稱。我發現下面的一些ROM相機活動:\t \t \t \t \t \t //com.google.android.gallery3d-com.android.camera.CameraActivity | Galaxy Nexus的 \t \t \t \t \t \t \t //com.sec.android.app.camera-com.sec.android.app.camera.Camera |銀河S3 \t \t \t \t \t \t \t //com.android.hwcamera-com.android.hwcamera.Camera | huawei – asfman