为什么我的 Android 应用程序不请求安装权限?
Why does my Android app not request permissions on install?
安装 APK 时,显示该应用不需要特殊权限。
在应用内启动相机时,它会询问用户是否允许该应用访问相机,这很好。
尝试使用麦克风时,由于权限问题,它没有询问并强制退出。
编辑(澄清):为什么应用程序不请求这些权限?
清单:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="lbu.c3369131.noter"
android:versionCode="1"
android:versionName="1.0">
<uses-sdk
android:minSdkVersion="23"
android:targetSdkVersion="23" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.CAPTURE_AUDIO_OUTPUT" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.autofocus" />
<application
在 Android 6.0 上,targetSdkVersion
为 23 或更高,您需要为所有 dangerous
权限调用 requestPermissions()
,此外还需要 [=13] =] 清单中的元素。何时何地向用户请求权限(首先 运行,当用户单击大红色按钮时,等等)由您决定。
在您的情况下,听起来您是这样请求 CAMERA
,但未能请求 RECORD_AUDIO
。单独请求这些可能是有意义的,特别是如果您同时操作静态相机和录制视频,因为您不需要 RECORD_AUDIO
来拍摄照片。因此,例如,在 this sample app 中,我首先在 运行 上请求 CAMERA
(和 WRITE_EXTERNAL_STORAGE
),但我只在用户特别要求时才请求 RECORD_AUDIO
录制视频。
在 运行 时未能请求 dangerous
权限,然后使用受该权限保护的某些 API,通常会导致 SecurityException
.
安装 APK 时,显示该应用不需要特殊权限。
在应用内启动相机时,它会询问用户是否允许该应用访问相机,这很好。
尝试使用麦克风时,由于权限问题,它没有询问并强制退出。
编辑(澄清):为什么应用程序不请求这些权限?
清单:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="lbu.c3369131.noter"
android:versionCode="1"
android:versionName="1.0">
<uses-sdk
android:minSdkVersion="23"
android:targetSdkVersion="23" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.CAPTURE_AUDIO_OUTPUT" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.autofocus" />
<application
在 Android 6.0 上,targetSdkVersion
为 23 或更高,您需要为所有 dangerous
权限调用 requestPermissions()
,此外还需要 [=13] =] 清单中的元素。何时何地向用户请求权限(首先 运行,当用户单击大红色按钮时,等等)由您决定。
在您的情况下,听起来您是这样请求 CAMERA
,但未能请求 RECORD_AUDIO
。单独请求这些可能是有意义的,特别是如果您同时操作静态相机和录制视频,因为您不需要 RECORD_AUDIO
来拍摄照片。因此,例如,在 this sample app 中,我首先在 运行 上请求 CAMERA
(和 WRITE_EXTERNAL_STORAGE
),但我只在用户特别要求时才请求 RECORD_AUDIO
录制视频。
在 运行 时未能请求 dangerous
权限,然后使用受该权限保护的某些 API,通常会导致 SecurityException
.