构建 AOSP 并添加具有运行时权限的系统应用

编程入门 行业动态 更新时间:2024-10-25 08:19:09
本文介绍了构建 AOSP 并添加具有运行时权限的系统应用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

限时送ChatGPT账号..

我在 Android 6 AOSP 上工作.我能够构建将应用程序添加为系统应用程序但现在我想在这个系统应用程序上默认添加运行时权限.这样,应用就可以在不要求用户验证权限的情况下启动.

I work on Android 6 AOSP. I am able to build add the application as a system app but now I want to add runtime permission by default on this system app. Like that the app can start without asking the user to validate the permission.

你知道我该怎么做吗?

感谢您的帮助.

推荐答案

如果您的应用具有特权,则在清单中请求时会授予所有运行时权限.

If your app is privileged, all Runtime permissions are granted if requested in manifest.

要使您的应用享有特权:
在 Android.mk 中

To make your app privileged:
in Android.mk

LOCAL_CERTIFICATE := platform
LOCAL_PRIVILEGED_MODULE := true

如果这不能解决您的问题:
1. 您可以在 Runtime 中为您的应用授予 Runtime 权限.应用程序必须有 android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS.下午.java

If this does not solve your problem:
1. You can grant Runtime permissions to your app in Runtime. App must have android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS. Pm.java

IPackageManager pm = IPackageManager.Stub.asInterface(ServiceManager.getService("package"));
pm.grantRuntimePermission(pkgname, perm, UserHandle.USER_OWNER);
pm.updatePermissionFlags(perm, pkgname, PackageManager.FLAG_PERMISSION_GRANTED_BY_DEFAULT,
PackageManager.FLAG_PERMISSION_GRANTED_BY_DEFAULT, UserHandle.USER_OWNER);

您可以通过修改手动授予权限DefaultPermissionGrantPolicy.java.

此外,如果应用程序使用与系统共享的用户 ID.即使清单中未请求任何权限,也会授予任何权限.

Additionally, if app use shared user id with system. Any permission is granted even though it is not requested in manifest.

android:sharedUserId="android.uid.system".

这篇关于构建 AOSP 并添加具有运行时权限的系统应用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

更多推荐

[db:关键词]

本文发布于:2023-04-18 01:47:04,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/928117.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:权限   系统   AOSP

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!