android中为了安全性起见,对于应用预定义了很多权限,比如联系人,短信等等。而且其还支持自定义权限,下面通过代码示例,表述一下自定义权限的定义以及使用。
首先定义一个Activity:
package com.cust.perm;
import android.app.Activity;
import android.os.Bundle;
import android.view.ViewGroup.LayoutParams;
import android.widget.LinearLayout;
import android.widget.TextView;
public class PrivilActivity extends Activity{
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
LinearLayout layout=new LinearLayout(this);
layout.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT));
layout.setOrientation(LinearLayout.VERTICAL);
TextView txt=new TextView(this);
txt.setText("hello from privilActivity");
layout.addView(txt);
setContentView(layout);
}
}
而后在menifest.xml文件中进行权限的声明:
<activity android:name=".PrivilActivity"
android:permission="com.permission.my"
>
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
</application>
<uses-sdk android:minSdkVersion="4" />
<permission android:protectionLevel="normal" android:name="com.permission.my"></permission>
请注意红色部分,核心配置。
关于<permission>标签中有很多属性,上述配置的这两个属性是必须的,其他属性含义如下:
下面编写另外一个项目,该项目中对于PrivilActivity进行使用,假设该项目中有一个ClientActivity
,其功用是通过intent启动PrivilActivity
public class ClientActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button btn=(Button)findViewById(R.id.Button01);
btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent intent=new Intent();
intent.setClassName("com.cust.perm","com.cust.perm.PrivilActivity");
startActivity(intent);
}
});
}
}
在其manifest.xml配置如下:
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".ClientActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
<uses-sdk android:minSdkVersion="4" />
<uses-permission android:name="com.permission.my"></uses-permission>
这样就获取了自定义权限。
- 大小: 34.3 KB
- 大小: 58.4 KB
分享到:
相关推荐
### Android中的自定义权限详解与实现 #### 一、引言 在Android系统中,为了保护用户隐私和数据安全,应用程序被赋予了基于权限的安全模型。Android预定义了一系列权限,如访问联系人、发送短信等,但同时也允许...
Android自定义权限允许开发者为自己的应用程序创建特定的权限,以便更好地控制用户访问敏感数据或执行特定操作。这篇博客将深入探讨如何在Android项目中实现自定义权限的使用。 首先,我们要了解Android权限的基础...
本文将深入探讨如何理解和使用自定义权限,以便在Android应用开发中更好地进行权限管理。 首先,理解Android权限系统的基础。在Android中,权限分为两种类型:正常权限(Normal Permissions)和危险权限(Dangerous...
本实例将深入探讨如何在Android中创建和使用自定义权限,这对于理解Android的安全模型至关重要。 一、Android权限基础 在Android中,权限分为两种类型:普通权限(Normal Permissions)和危险权限(Dangerous ...
该资源包含了一个android自定义的权限,包含两个工程security和securitytest,其中,security声明自定义的权限,在securitytest中利用这些自定义的权限,包含了自定义的activity,service,contentprovider,发送和...
本教程将深入探讨如何在Android中实现自定义权限。 首先,我们要理解Android权限的基础。在Android中,权限分为两种类型:正常权限(Normal Permissions)和危险权限(Dangerous Permissions)。正常权限对系统和...
本教程将深入探讨如何在Android中实现自定义权限,并通过两个项目实例——PermissionClient和PermissionMain——进行实践讲解。 1. **自定义权限定义** 在AndroidManifest.xml文件中,开发者可以声明自定义权限,...
在Android应用开发中,自定义View视图是一个重要的技术,它允许开发者根据特定需求创建独一无二的用户界面元素。本文将深入探讨如何通过继承View类来实现一个自定义的罗盘界面,以帮助开发者理解自定义视图的工作...
本篇文章将深入探讨Android自定义权限的原理和实现步骤。 首先,我们要理解Android权限模型的基础。Android中的权限分为两种类型:正常权限(Normal Permissions)和危险权限(Dangerous Permissions)。正常权限对...
在Android开发中,有时我们需要对系统默认的摄像机功能进行扩展,实现自定义的拍摄体验。MediaRecorder类是Android提供的一种强大的工具,可以用来录制音频、视频,甚至同时录制。本篇文章将深入探讨如何利用...
"android自定义相机带取景框"这个话题就是关于如何在Android应用中创建一个具有用户界面元素(如取景框)的自定义相机组件。下面将详细介绍这个过程中的关键知识点。 一、开启相机权限 在AndroidManifest.xml文件中...
android自定义拍照界面,这是一个圆形的界面,别人资源库里复制过来的,自测可以使用,还有因为 targetSdkVersion=22所以是自动加权限,如果是23+则需要手动添加拍照和读取文件夹权限了
在Android开发过程中,有时我们需要为SDK提供额外的功能或者扩展,这时就需要在Android SDK中添加自定义API。这个过程涉及到Java API的设计与JNI(Java Native Interface)的使用,以实现Java层与C/C++层的交互。...
综上所述,创建一个Android自定义相机身份证扫描界面涉及多个步骤,包括权限管理、相机API的使用、自定义布局设计、手势识别、图像处理等技术。通过对这些知识点的掌握和实践,你可以为用户提供一个高效且准确的...
要实现自定义拍照,首先需要获取到摄像头的权限,然后使用`Camera`类或者更现代的`Camera2` API来控制摄像头。在这个项目中,可能会使用`SurfaceView`作为相机预览的显示窗口,通过`Camera.setPreviewDisplay...
在AndroidManifest.xml文件中,需要声明自定义键盘服务,并设置相应的权限和属性。 ```xml android:name=".CustomKeyboardService" android:label="@string/app_name" android:permission="android.permission....
在Android系统中,实现WiFi的自定义控制是一项常见的需求,特别是在开发涉及网络连接的应用时。本文将深入探讨如何通过编程方式来控制Android设备上的WiFi开关,以满足特定场景下的功能需求。 首先,我们需要理解...