gpt4 book ai didi

android - 在不使用 action.Image_Capture 的情况下打开默认相机应用程序

转载 作者:搜寻专家 更新时间:2023-11-01 07:45:57 25 4
gpt4 key购买 nike

我希望用户能够在我的应用中快速打开默认的相机应用(或他们设置为默认的应用)。但是,我不想使用 android.media.action.IMAGE_CAPTURE,因为这只会显示应用程序的拍照部分。我只想简单地打开相机应用程序而不使用它。我知道这是可能的,因为我使用过的几个图库应用程序(最引人注目的:Focus)已经能够毫无问题地简单地打开相机应用程序,并且没有使用 IMAGE_CAPTURE。

最佳答案

这可以通过使用 PackageManager#resolveActivity(Intent) 实现

在 Kotlin 中:

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 过滤器创建的 Intent,context 是当前应用上下文,packageManager 是上下文的 PackageManager 实例。)

关于android - 在不使用 action.Image_Capture 的情况下打开默认相机应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44273118/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com