MTK指定app权限弹窗默认

这篇博客探讨了Android系统中权限管理的实现,特别是在`PackageManagerService.java`文件中,针对特定包名如`com.qi`、`wyt`等的应用,自动授予所有权限的过程。代码细节包括遍历请求权限并调用`PermissionsState.grantInstallPermission`进行权限分配,并记录日志。同时,博客还提到了`isPackageNeedsReview`方法用于判断是否需要审核应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

MTK指定app权限弹窗默认

frameworks/base/services/core/java/com/android/server/pm/PackageManagerService.java


         permissionsState.setGlobalGids(mGlobalGids);
 
+        if(pkg.packageName.contains("com.qi") || pkg.packageName.equals("com.allwinner.theatreplayer.launcher")
+              || pkg.packageName.contains("wyt") || pkg.packageName.equals("com.ococci.video")
+              || pkg.packageName.equals("com.tencent.deviceapp")) {//前缀com.qi、wyt然后是三个apk所有的权限弹窗都默认
+                final int permsSize = pkg.requestedPermissions.size();
+                for (int i=0; i<permsSize; i++) {
+                    final String name = pkg.requestedPermissions.get(i);
+                    final BasePermission bp = mSettings.mPermissions.get(name);
+                    if(null!= bp&&permissionsState.grantInstallPermission(bp)!= PermissionsState.PERMISSION_OPERATION_FAILURE) {
+                    Slog.d(TAG, "zrx--- grant permission " + name + " to package " + pkg.packageName);
+                    changedInstallPermission = true;
+                    }
+                }
+        }
         final int N = pkg.requestedPermissions.size();
         /// M: CTA requirement - permission control
         boolean pkgReviewRequired = isPackageNeedsReview(pkg, mSettings);
要将指定的应用程序显示在 MTK Android 系统的桌面上,你需要执行以下步骤: 1.AndroidManifest.xml 文件中声明应用程序的主 Activity。确保在 intent-filter 中设置了 CATEGORY_LAUNCHER,这样应用程序的图标才会显示在桌面上。 2. 在应用程序的主 Activity 中,使用以下 Intent 启动应用程序: ``` Intent launchIntent = new Intent(Intent.ACTION_MAIN); launchIntent.addCategory(Intent.CATEGORY_LAUNCHER); launchIntent.setComponent(new ComponentName(this, MainActivity.class)); startActivity(launchIntent); ``` 在上面的代码中,MainActivity.class 要替换成你应用程序的主 Activity。 3. 如果你想在系统启动时自动启动应用程序,你可以创建一个 BroadcastReceiver,监听 ACTION_BOOT_COMPLETED 广播,并在该广播中启动应用程序。 ``` public class BootReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { if (intent.getAction().equals(Intent.ACTION_BOOT_COMPLETED)) { Intent launchIntent = new Intent(context, MainActivity.class); launchIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(launchIntent); } } } ``` 在上面的代码中,MainActivity.class 要替换成你应用程序的主 Activity。 然后在 AndroidManifest.xml 文件中声明该 BroadcastReceiver: ``` <receiver android:name=".BootReceiver" android:enabled="true" android:exported="true"> <intent-filter> <action android:name="android.intent.action.BOOT_COMPLETED" /> </intent-filter> </receiver> ``` 确保在 AndroidManifest.xml 文件中声明了 RECEIVE_BOOT_COMPLETED 权限: ``` <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> ``` 这样,你的应用程序就会显示在 MTK Android 系统的桌面上了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值