我希望用戶能夠在我的應用程序中快速打開默認相機應用程序(或其默認設置)。但是,我不想使用android.media.action.IMAGE_CAPTURE,因爲這隻會顯示應用程序的照片拍攝部分。我只想簡單地打開相機應用程序,而不使用它。我知道這是可能的,因爲我已經使用過的幾個圖庫應用程序(Most notibale:Focus)只能簡單地打開相機應用程序,而沒有使用IMAGE_CAPTURE。打開默認相機應用程序而不使用action.Image_Capture
2
A
回答
3
這可以通過使用PackageManager#resolveActivity(Intent)
在科特林來實現:
val info: ResolveInfo? = packageManager
.resolveActivity(cameraIntent);
if (info == null) {
// No camera app installed.
return
}
// Documentation says at least one of the three infos is not-null:
val app: ApplicationInfo = info.activityInfo?.applicationInfo
?: info.serviceInfo?.applicationInfo
?: info.providerInfo!!.applicationInfo
val launch: Intent? = packageManager
.getLaunchIntentForPackage(app.packageName)
if (launch == null) {
// Camera app has no default intent.
return
}
// Launch the camera intent's
// resolved app's default activity.
context.startActivity(launch)
(其中cameraIntent
是使用android.media.action.IMAGE_CAPTURE
過濾器創建的意圖,context
是當前應用程序上下文和packageManager
是上下文的PackageManager
實例)
1
如果你想要打開默認的相機應用程序,使用下面的代碼
Intent intent = new Intent("android.media.action.IMAGE_CAPTURE");
startActivity(
getPackageManager().getLaunchIntentForPackage(
intent.resolveActivity(getPackageManager()).getPackageName()));
相關問題
- 1. navigator.camera.getPicture不打開設備的默認相機應用程序
- 2. 使用意圖打開默認相機,覆蓋其他應用程序?
- 3. 使用UIImagePickerController顯示相同的默認相機應用程序
- 4. 如何在Android應用程序中使用默認相機功能打開相機?
- 5. Phonegap應用程序未打開相機
- 6. CreateProcessAsUser:如何使用默認應用程序打開文件?
- 7. 如何使用kivy打開默認的Android應用程序?
- 8. 在默認應用程序中使用pdf打開pdfmake
- 9. 使用地址打開默認導航應用程序
- 10. 使用iOs上的默認應用程序打開文件
- 11. 以默認應用程序打開的程序
- 12. 使相機應用程序保存圖片到默認目錄
- 13. 在android中打開默認相機?
- 14. iphone默認地圖應用程序以不同語言打開
- 15. 在應用程序中打開文件而不是默認文件查看器
- 16. 在Android中使用相機應用程序後打開DialogFragment
- 17. Sharepoint 365應用程序使用默認主題而不是主機主題
- 18. 如何將我的應用程序更改爲默認相機應用程序?
- 19. 打開一個文件,不使用默認的程序
- 20. 如何用ruby打開默認應用程序文件?
- 21. 如何用cmd中的默認應用程序打開文件?
- 22. 從Android的另一個應用程序打開默認日曆應用程序
- 23. 如何從React Native應用程序打開默認iOS應用程序?
- 24. 使用HTML5而不使用Phonegap打開iOS相機
- 25. 使用Python使用默認應用程序打開文件,然後在文件打開後打印?
- 26. 如何在默認相機上添加TextView應用程序
- 27. 自定義默認相機應用程序
- 28. 從RCP應用程序打開外部瀏覽器將在Linux上打開Firefox而不是默認瀏覽器。
- 29. 打電話沒有默認本機應用程序Android
- 30. 在WPF應用程序中更改默認打印機
不確定,但您可能只是使用'android.media.action.IMAGE_CAPTURE'意圖獲取支持該意圖的所有應用程序的列表,然後僅使用其包的默認意圖過濾列表並啓動其中一個應用程序。 – Heinrich
我嘗試過,但它只顯示實際的圖像捕捉意圖,而不是整個打開應用程序。無論打開什麼相機應用程序,它只會打開圖像捕捉部分。 – MJonesDev
添加了更詳細的解釋作爲答案。 – Heinrich