我希望用戶能夠在我的應用程序中快速打開默認相機應用程序(或其默認設置)。但是,我不想使用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. 如何在Android應用程序中使用默認相機功能打開相機?
- 3. CreateProcessAsUser:如何使用默認應用程序打開文件?
- 4. 使用iOs上的默認應用程序打開文件
- 5. 在默認應用程序中使用pdf打開pdfmake
- 6. 如何使用kivy打開默認的Android應用程序?
- 7. 在android中打開默認相機?
- 8. 在應用程序中打開文件而不是默認文件查看器
- 9. 在Android中使用相機應用程序後打開DialogFragment
- 10. Sharepoint 365應用程序使用默認主題而不是主機主題
- 11. 打開一個文件,不使用默認的程序
- 12. 如何將我的應用程序更改爲默認相機應用程序?
- 13. 如何用ruby打開默認應用程序文件?
- 14. 如何用cmd中的默認應用程序打開文件?
- 15. 如何從React Native應用程序打開默認iOS應用程序?
- 16. 自定義默認相機應用程序
- 17. 在UWP應用程序中設置默認打印機
- 18. 如何將我的自定義相機應用程序設爲默認相機應用程序?
- 19. 如何從iPhone中的本機應用程序打開相機?
- 20. Sidenav默認打開而不是OnClick
- 21. 陣營機iOS打開的郵件應用程序的默認文字
- 22. C#與默認應用程序打開的文件和參數
- 23. 如何更改打開應用程序的默認方式
- 24. 從通知打開默認地圖應用程序
- 25. Android默認應用程序打開和關閉事件
- 26. Cocoa API設置文件的默認應用程序以打開
- 27. 默認情況下打開應用程序
- 28. 如何在默認應用程序中打開文件。 Ruby
- 29. Mac:默認應用程序打開電影文件
- 30. 獲取打開文件的默認應用程序的圖標
不確定,但您可能只是使用'android.media.action.IMAGE_CAPTURE'意圖獲取支持該意圖的所有應用程序的列表,然後僅使用其包的默認意圖過濾列表並啓動其中一個應用程序。 – Heinrich
我嘗試過,但它只顯示實際的圖像捕捉意圖,而不是整個打開應用程序。無論打開什麼相機應用程序,它只會打開圖像捕捉部分。 – MJonesDev
添加了更詳細的解釋作爲答案。 – Heinrich