当前位置: 首页 > 知识库问答 >
问题:

如何在清单中添加查询声明以使用摄像头

黄俊智
2023-03-14
private fun clickPhoto(){
        Intent(MediaStore.ACTION_IMAGE_CAPTURE).also { takePictureIntent ->
            takePictureIntent.resolveActivity(requireActivity().packageManager)?.also {
                val photoFile: File? = try {
                    createFile(requireActivity(), Environment.DIRECTORY_PICTURES, "jpg")
                } catch (ex: IOException) {
                    Toast.makeText(requireActivity(), getString(R.string.create_file_Error, ex.message),
                        Toast.LENGTH_SHORT).show()
                    null
                }
                photoFile?.also {
                    selectedPhotoPath = it.absolutePath
                    val photoURI: Uri = FileProvider.getUriForFile(
                        requireActivity(),
                        BuildConfig.APPLICATION_ID + ".fileprovider",
                        it
                    )
                    takePictureIntent.putExtra(MediaStore.EXTRA_OUTPUT, photoURI)
                    startActivityForResult(takePictureIntent, CAMERA_PHOTO_REQUEST)
                }
            }
        }
    }

这是我的click photo函数,其中resolveActivity()给出了一个警告考虑添加一个

我也知道不使用resolveActivity()可以解决这个问题,但我想学习如何向清单中添加查询。

这是我的舱单。

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.akaalistudios.employeemanagement">

    
    <uses-permission android:name="android.permission.CAMERA" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/Theme.EmployeeManagement">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <provider
            android:name="androidx.core.content.FileProvider"
            android:authorities="${applicationId}.fileprovider"
            android:exported="false"
            android:grantUriPermissions="true">
            <meta-data android:name="android.support.FILE_PROVIDER_PATHS"
                android:resource="@xml/file_paths"/>
        </provider>
    </application>

</manifest>

共有1个答案

阴凯歌
2023-03-14

为了访问更广泛的已安装应用列表,应用可以指定它们需要直接查询和交互的应用的信息。这可以通过在Android清单中添加元素来实现。

对于大多数常见的场景,包括从startActivity()开始的任何隐式意图,您不需要更改任何内容!对于其他场景,例如直接从UI打开特定的第三方应用程序,开发人员必须明确列出应用程序包名称或意图过滤器签名,如下所示:

<manifest package="com.example.game">
  <queries>
    <!-- Specific apps you interact with, eg: -->
    <package android:name="com.example.store" />
    <package android:name="com.example.service" />
    <!--
         Specific intents you query for,
         eg: for a custom share UI
    -->
    <intent>
      <action android:name="android.intent.action.SEND" />
      <data android:mimeType="image/jpeg" />
    </intent>
  </queries>
  ...
</manifest>

有关更多详细信息,您必须遵循以下链接:https://medium.com/androiddevelopers/package-visibility-in-android-11-cc857f221cd9或者Android 11(R)在查询动作图像捕获意图时返回空列表

我希望这能有所帮助。

 类似资料:
  • 问题内容: 如何声明用于PostgreSQL 8.3查询的变量? 在MS SQL Server中,我可以这样做: 我如何在PostgreSQL中做同样的事情?根据文档,变量被简单地声明为“名称类型;”,但这给了我一个语法错误: 有人可以给我一个正确语法的例子吗? 问题答案: PostgreSQL中没有这样的功能。您只能在pl / PgSQL(或其他pl / *)中执行此操作,而不能在普通SQL中执

  • 我试图在OpenAPI 3中定义一个查询对象: 但示例值和架构未显示在 Swaager UI 中。 是有错误还是我错过了什么?

  • 这是A.java 我想得到Newa. java 我想使用javaparser添加一个变量。

  • 我的场景是在单个查询中在顶点之间添加多条边: 假设下面的节点:这些是我拥有的标签和ID 用户: 4100 歌曲: 4200 4355 4676 我必须在这些顶点之间建立边 我们通常可以通过在节点之间创建单条边来实现。如果我们想一次在50多个顶点之间创建边,这不是一种有效的方法。我正在使用Tinkerpop 3.0.1。

  • 问题内容: 我希望Gradle构建脚本将完整的Classpath添加到构建后创建的JAR文件中包含的清单文件中。 例: 我的构建脚本已经通过这种方式向清单添加了一些信息: 如何获取要添加到清单的依赖项列表? Java教程的此页面详细描述了如何以及为什么向清单中添加类路径:将类添加到JAR文件的类路径中 问题答案: 在Gradle的论坛上找到了一个解决方案: 来源:子项目的Jar任务中带有类路径的清

  • 我希望我的Gradle构建脚本将完整的类路径添加到构建后创建的JAR文件中包含的清单文件中。 如何获取要添加到清单中的依赖项列表? 这一页的Java教程更详细地描述了如何以及为什么将类路径添加到清单中:将类添加到JAR文件的类路径中