问题标签 [runtime-permissions]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 在 Android > 6.0 中,第二次从图库访问图像时出现安全权限异常
我是 android 新手,我正在一个 android 现有项目中工作。该应用程序在 android 版本 >6.0 上崩溃,但有以下异常。基本上应用程序正在从图库中选择照片,这第一次和第二次都可以正常工作应用程序崩溃给出权限拒绝异常。
java.lang.SecurityException:权限被拒绝:读取 com.google.android.apps.photos.contentprovider.MediaContentProvider uri content://com.google.android.apps.photos.contentprovider/0/1/content%3A%2F% 2Fmedia%2Fexternal%2Fimages%2Fmedia%2F1022/ORIGINAL/NONE/256350537 from pid=7789, uid=10145 需要导出提供者,或者grantUriPermission()
我浏览了几个链接并检查了android是否引入了运行时权限,并且我使用下面的代码来检查运行时权限。
到目前为止我尝试过的事情......
- 在清单中添加了权限。
2.检查代码的运行时权限。
}
它崩溃的那一行是:-
以下是我的清单中使用的权限:
android - Android Studio 无法识别运行时权限代码
我正在尝试实现运行时权限(针对 SDK 24),但 Android Studio 似乎无法识别所有代码。
一切都很好,直到我到达“.READ_CONTACTS”或“.CAMERA”。另外,“请求权限”。也会变红。我尝试导入各种东西,例如“android.support.v4.content.ContextCompat”,但无济于事。
另外,我从自定义对话框类中调用它,但我认为这应该不是问题,因为这些应该是“运行时”权限,对吧?
android - Android 运行时权限
我正在尝试添加运行时权限以使应用程序与 API 23+ 兼容。我浏览了文档,但是当我只包含以下行时
private final int hasWriteFilePermission = ContextCompat.checkSelfPermission(getActivity(), Manifest.permission.WRITE_EXTERNAL_STORAGE);
,
我的应用程序崩溃,我收到以下错误:
我的代码如下:
我应该如何检查片段中的权限?是什么导致了这个错误?我该如何解决这个问题?谢谢!
android - 录制然后播放 wav 文件:错误 (1, -2147483648) 和 (-38, 0) (API 23 Runtime Permission?)
我正在尝试从我的 android 设备上的外部存储播放我使用 AudioRecord 类录制的 .wav 文件。我有两个按钮播放/暂停和停止。我阅读了其他 SO 帖子,但我无法解决我的问题。
我的代码如下:
我的记录按钮代码:
标题:
选择刚刚录制的文件之一后按播放时出现以下错误:
我知道 (-38,0) 与状态有关,但我无法修复它。相同的代码在 API 19 上运行良好,但在 API 23 上抛出了这个错误。我在一些 SO 帖子上读到错误(1,-2147483648)可能是因为应用程序没有适当的权限来读取文件,但是,我无法解决问题。我不知道我哪里出错了,或者我是否需要为 API 23 添加任何内容。这是否与运行时权限有关,因为 mediaPlayer 从外部存储读取文件?如果是这样,我应该在哪里请求许可。wav 文件在我传输并在我的计算机上播放时被正确记录。
更新:我使用另一个 wav 文件来检查 mediaRecord 类和条件是否正常工作,它们是。我现在意识到问题只是应用程序正在录制并保存为 wav 的文件无法读取(但可以在计算机上正常播放)。我无法弄清楚,因为我在 API 19 上以相同的方式录制,而不检查运行时权限。
更新 2:我不得不调用reset
停止按钮上的方法onClickListener
并onCompletionListener
重置数据源。我还在我的计算机上复制了一个录制的文件,并将其重命名为2016-07-10 22:39:40_Recording.wav
toblabla.wav
并将其放回原处。它玩得很好。但我仍然可以读取具有类似日期和时间名称格式的其他类型的文件。不确定问题是否仅与名称有关。
任何有关此问题的帮助将不胜感激!
android - 启动时的运行时权限
我有一个需要 CAMERA 和 WRITE_SETTINGS 权限的手电筒,我需要先处理这些我已经知道如何操作的权限,然后如果它被授予,例如,开始我的主要活动......(对不起,我是新手安卓)
android - 我可以跳过询问棉花糖的运行时权限吗?
现在这对我来说非常有趣,我主要了解运行时权限,并且我很清楚为什么提出运行时权限?以及我们如何使用它?但是在这个问题中,这个问题是关于由于这个运行时许可的事情而出现的问题,一个人提出了一种相当新的方法来解决这个问题。
这家伙提出了一个不错且可行的解决方案,用户只需批准一次权限,并且在他的余生中,他不必担心所有运行时权限和应用程序将在棉花糖版本和预棉花糖版本上运行,如评论中讨论的那样我和Commonsware之间讨论的所有评论。
@NiteshPareek:这个答案并没有阻止应用程序在 Android 6.0+ 设备上运行-Commonsware
但这意味着我们可以购买通过 Runtime Permissions 提出的安全性?@CommonsWare – 塔潘帕尔马
@Tapanparmar:不,因为用户可以在设置中手动撤销权限。拥有 targetSdkVersion 22 或更低意味着您的应用程序不会有任何运行时权限代码,因此用户需要在安装时同意您请求的权限。这就是 Android 从一开始的工作方式。– CommonsWare
好的,所以应用程序将在棉花糖上运行而不显示权限?@CommonsWare - Tapan Parmar
@Tapanparmar:用户将在安装应用程序时获得权限。– CommonsWare
好的,所以我们可以跳过这个提供的该死的权限,但是这样做有什么缺点吗?@CommonsWare
@Tapanparmar:如果用户不喜欢预先授予所有权限,他们可以选择不安装您的应用程序。此外,您可能希望基于更高的 targetSdkVersion 值的其他行为可能会丢失。如果您还有其他问题,请提出单独的 Stack Overflow 问题。– CommonsWare
所以我想知道这样做有什么实际的缺点吗?以及作为RunTimePermissions主要目的的安全性会发生什么。这样做真的更可取吗?
请参阅此处对答案的评论或查看下图
android - 在运行时授予 Action_Call 意图的权限
使用此代码将用户发送到拨号屏幕非常简单
但是,当我希望用户通过按钮自动拨打电话时,单击该按钮应自动拨打电话。我已经使用 android.permission.CALL_PHONE进行了设置,我在下面使用此代码....
我在startActivity(callIntent);下得到一个波浪线。声明“呼叫需要权限,用户可能会拒绝。代码明确检查权限是否可用”。我如何让它在运行时运行?
android - 权限组不工作
在用户授予 android.permission.RECEIVE_SMS 后,我的应用程序将读取用户的短信,
但有些用户会崩溃(我无法让它发生)。
android.permission.RECEIVE_SMS 和 android.permission.READ_SMS 都在 AndroidManifest.xml 中声明,它们是同一个权限组(https://developer.android.com/guide/topics/security/permissions.html)
详细的崩溃报告:
我需要帮助,谢谢
android - 如何使用 PermissionDispatcher 通过 android 中的列表适配器询问 RuntimePermission?
BaseAdapter
我能够从 Activity 和 Fragment 访问运行时权限,但我想要来自哪个中的SEND_SMS 权限Fragment
?有可能还是我必须通过 Fragment 调用它setonItemClickListener
?