如何在應用程序中打開默認相機?如何在不顯示選擇器的情況下打開默認相機?
我不想打開選擇器(它的客戶的要求)。我正在使用這個意圖android.media.action.IMAGE_CAPTURE
和調用結果的活動。
一切都很好,但像行式照相機應用,紙相機都出現在默認的攝像頭應用程序選擇器,我不想顯示選擇器。
您的關注將不勝感激。
如何在應用程序中打開默認相機?如何在不顯示選擇器的情況下打開默認相機?
我不想打開選擇器(它的客戶的要求)。我正在使用這個意圖android.media.action.IMAGE_CAPTURE
和調用結果的活動。
一切都很好,但像行式照相機應用,紙相機都出現在默認的攝像頭應用程序選擇器,我不想顯示選擇器。
您的關注將不勝感激。
您可以選擇特定活動的唯一方法就是使用明確的意圖。而對於內置攝像頭的應用程序包的名稱可能是不同的,依賴於設備
我相信你可以找到你在下面的鏈接的答案(和代碼):
How to launch android camera using intents
筆者狀態有明確即: 「上面的代碼應該啓動默認攝像頭活動您的手機上」
此代碼不會過濾第三方應用程序,它會打開選擇器,如果應用程序如**線相機**或**紙相機**安裝在您的手機中 –
List<ApplicationInfo> list = packageManager.getInstalledApplications(PackageManager.GET_UNINSTALLED_PACKAGES);
for (int n=0;n<list.size();n++) {
if((list.get(n).flags & ApplicationInfo.FLAG_SYSTEM)==1)
{
Log.d("TAG", "Installed Applications : " + list.get(n).loadLabel(packageManager).toString());
Log.d("TAG", "package name : " + list.get(n).packageName);
if(list.get(n).loadLabel(packageManager).toString().equalsIgnoreCase("Camera")) {
defaultCameraPackage = list.get(n).packageName;
break;
}
}
}
我發現下面的解決方案和工作PERF ectly。
Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
takePictureIntent.setPackage(defaultCameraPackage);
startActivityForResult(takePictureIntent, actionCode);
您可以通過在上述意圖中設置包來過濾默認相機。我已經通過安裝兩個應用線照相機和紙相機這兩個應用都顯示選擇器,但過濾通過包裝上面的代碼只開放默認的攝像頭進行了測試。
http://stackoverflow.com/questions/18599421/launch-default-camera-app-no-return看看是否有幫助 –