应用场景
给一些组件增加权限授权。
比如A应用启动B应用的C界面,如果C界面需要一个权限,那么A应用必须配置相应的权限才能开启。
代码如下
B应用中权限申请如下:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="com.example.mypermission" >
<!--告诉permission 属于 permission-group的-->
<permission
android:name="com.example.test"
android:protectionLevel="normal"
android:permissionGroup="com.example.test.group"
/>
<permission-group
android:name="com.example.test.group"
android:protectionLevel="normal"
/>
<permission-tree
android:name="com.example.test.group"
android:protectionLevel="normal" />
<application
android:allowBackup="true"
android:dataExtractionRules="@xml/data_extraction_rules"
android:fullBackupContent="@xml/backup_rules"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/MyPermission"
tools:targetApi="31" >
<activity
android:name=".TestActivity"
android:exported="true"
android:permission="com.example.test"
/>
<activity
android:name=".MainActivity"
android:exported="true" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
A 应用中开启B应用中C界面代码如下
findViewById<Button>(R.id.btn).setOnClickListener {
val intent = Intent()
intent.setClassName("com.example.mypermission","com.example.mypermission.TestActivity")
startActivity(intent)
}