android的自定义权限还是非常简单的。我就按照应用场景来讲吧。
定义与设置自定义权限:
当b应用启动a应用的组建(可以是Activity,Service,BroadcastReceiver等)时,如果没有设置权限,那么将无法使用。
那么就需要给a应用制定的组建设置一个Permission就可以了。
第一步:得先自定义一个权限,才有自定义权限可以被使用。所以在AndroidManifest.xml文件中如下代码:同时自定义权限组和自定义权限树的用法与此相同。通常应该遵循Android的命名方案(*.permission.*)但非必须.
<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android"package="com.example.flyko.myapplication" ><permission android:name="com.xzq.permission.flykozhang"android:protectionLevel="normal"/><permission-group android:name="com.xzq.permission.flykozhang.group" android:protectionLevel="normal"/><permission-tree android:name="com.xzq.permission.flykozhang.tree" android:protectionLevel="normal"/></manifest>
添加权限:
双击AndroidManifest.xml文件,打开permissions选项卡,在Permissions窗口中单击Add按钮,选择Permission,然后单击ok按钮,添加一个新的Permission:
权限的特性:
Android:name权限的名称,必填属性,通常应该遵循Android的命名方案(*.permission.*)但非必须。
android:protectionLevel定义与权限相关的保护级别,必填属性。必须选择一下四项之一:normal、dangerous、signature、signatureOrSystem。
android:permissionGroup非必填属性,可以将权限放在一个组中,但对于自定义权限,尽量不要设置此属性了。
android:label非必填属性,含义你应该明白。
android:description非必填属性,含义你应该明白。
android:icon非必填属性,含义你应该明白。
第二步:自定义的权限都定义好了,那就没话说了,直接拿来用呗。
<activityandroid:permission="com.xzq.permission.flykozhang"android:name=".MainActivity"android:theme="@style/AppBaseTheme"></activity>
自定义权限的定义和使用都ok了,现在没话说了,就看看b应用如何调用设置了自定义权限的组建吧。
调用设置了自定义权限的组建:
第一步:在b应用中使用时,先在AndroidManifest.xml文件声明要是用的权限。和系统其他权限声明方式一样,如下代码。
<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android"package="com.example.flyko.myapplication" ><uses-permission android:name="com.xzq.permission.flykozhang" /></manifest>
第二步:在代码中启动带有自定义权限的组建。
public class MainActivity extends Activity {@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);((Button) findViewById(R.id.button1)).setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {Intent intent = new Intent();intent.setClassName("com.xzq.custompermission","com.xzq.permission.flykozhang");startActivity(intent);}});}}
完了。。是不是很简单~~~~
本文介绍了Android中自定义权限的步骤,包括在AndroidManifest.xml中定义权限,设置protectionLevel,以及如何在应用间调用。同时提到了自定义权限组和权限树的类似用法,建议遵循Android的命名方案。通过声明权限并启动带有自定义权限的组件,实现权限控制。
2万+

被折叠的 条评论
为什么被折叠?



