未请求相机权限,但仍在工作
Camera permissions are not requested but are still working
清单文件:
<uses-permission android:name="android.permission.CAMERA" android:requiredFeature="true" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" android:requiredFeature="true" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" android:requiredFeature="true"/>
该应用未请求相机权限,但它仍在运行。
我可以使用以下意图使用相机:
val takePhotoIntent = Intent(MediaStore.ACTION_IMAGE_CAPTURE)
我不知道为什么。
尽管没有向该应用授予任何权限,但情况仍然如此:
这可能是因为您 运行 它在较旧的 api 上,或者已经将这些权限授予该应用程序一次。另一种可能性:您的设备已获得 root 权限。
我认为这是因为您实际上并没有自己控制相机。您要求启动相机应用程序。您的应用无法在没有用户干预的情况下拍照,因此很安全。
之所以可行,是因为您的应用无法访问以下任何内容:
- 相机本身
- 用户的internal/external存储空间
- 用户现有照片
您得到的只是让用户拍照并 return 将照片发给您的机会。由于用户需要明确同意作为流程的一部分,因此不需要许可。
此模型还有一个好处,即使用户不授予应用相机或存储权限,应用也可以拍摄照片。他们可以放心,该应用程序只能访问用户拍摄的单张照片。同样的原则也适用于要求用户 select 一张照片。
清单文件:
<uses-permission android:name="android.permission.CAMERA" android:requiredFeature="true" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" android:requiredFeature="true" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" android:requiredFeature="true"/>
该应用未请求相机权限,但它仍在运行。 我可以使用以下意图使用相机:
val takePhotoIntent = Intent(MediaStore.ACTION_IMAGE_CAPTURE)
我不知道为什么。
尽管没有向该应用授予任何权限,但情况仍然如此:
这可能是因为您 运行 它在较旧的 api 上,或者已经将这些权限授予该应用程序一次。另一种可能性:您的设备已获得 root 权限。
我认为这是因为您实际上并没有自己控制相机。您要求启动相机应用程序。您的应用无法在没有用户干预的情况下拍照,因此很安全。
之所以可行,是因为您的应用无法访问以下任何内容:
- 相机本身
- 用户的internal/external存储空间
- 用户现有照片
您得到的只是让用户拍照并 return 将照片发给您的机会。由于用户需要明确同意作为流程的一部分,因此不需要许可。
此模型还有一个好处,即使用户不授予应用相机或存储权限,应用也可以拍摄照片。他们可以放心,该应用程序只能访问用户拍摄的单张照片。同样的原则也适用于要求用户 select 一张照片。