android - 如何检查用户是否拒绝了 android.permission.FOREGROUND_SERVICE

标签 android service foreground-service

我的应用程序请求检查用户是否不允许启动前台服务。但是

if (checkCallingOrSelfPermission("android.permission.FOREGROUND_SERVICE") == PackageManager.PERMISSION_GRANTED) {
 //always true ??? but the user has not allowed this permission
}

最佳答案

Apps wanting to use foreground services must now request the FOREGROUND_SERVICE permission first. This is a normal permission, so the system automatically grants it to the requesting app. Starting a foreground service without the permission throws a SecurityException.

解决方案是在 AndroidManifest.xml 中添加以下内容:

<manifest ...>
     ...
     <uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
     ...
     <application ...>
     ...
</manifest>

关于android - 如何检查用户是否拒绝了 android.permission.FOREGROUND_SERVICE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58693959/

相关文章:

android - 如何在服务中启动 android.intent.action.CALL?

java - 通过环境属性实现Spring服务

前台服务中的 Android webRTC 调用

android - 收集服务中的流

android - 用户禁用通知时的前台服务

javascript - Android WebView 在加载 html 之前注入(inject) Javascript

javascript - 在 Crosswalk WebView 中查看控制台日志

java - Android Studio,添加 Java 支持

android - 使用 NotificationCompat .addAction 按钮停止前台服务

java - 将散列密码与 salt (bcrypt) 进行比较总是返回 false