您的位置:首页 > 移动开发 > Android开发

Android开发&常用权限使用

2015-11-05 12:45 405 查看
安卓开发常见的权限,以及简单说明。

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
//查看当前网络状态(包括无线和有线);
//(ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE).getActiveNetworkInfo().isAvailable()返回布尔值,表示网络是否可用
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
//监听系统开机广播(实现开机自启程序);
//<action android:name="com.example.broadcasttest. MY_BROADCAST"/>系统开机发出的广播信息,可静态注册来监听。
<uses-permission android:name="android.permission.READ_CONTACTS" />
//读取联系人信息(系统内置通信录应用的权限);
//ContactsContract.CommonDataKinds.Phone.CONTENT_URI,读取联系人时使用的URI,对应字符串是“content://com.android.contacts/data”
<uses-permission android:name="android.permission.WRITE_CONTACTS" />
//写入联系人信息;
//Phone.DISPLAY_NAME代表联系人存储的名字,Phone.NUMBER代表对应联系人号码。
<uses-permission android:name="android.permission.VIBRATE" />
//震动(在通知栏消息加入震动,或者直接通过getSystemService获取震动管理器,都需要此权限);
//Vibrator v=(Vibrator)getSystemService(VIBRATOR_SERVICE);v.vabrate(long[] pattern,int repeat),第二个参数为-1表示不重复。
<uses-permission android:name="android.permission.RECEIVE_SMS" />
//接收短信(可用于拦截垃圾短信功能等)
//<action android:name="android.provider.Telephony.SMS_RECEIVED" />,有新消息时系统发出的广播信息,有序。
<uses-permission android:name="android.permission.SEND_SMS" />
//发送短信权限
//SmsManager.getDefault().sendTextMessage(String destinationAddress, String scAddress, String text,PendingIntent sentIntent, PendingIntent deliveryIntent),第一个参数表示目标人地址,也就是对方号码,第二个参数表示转发抄送人地址,一般是null,第三个参数是短信内容,第四个参数是发送短信时的“意图”,第五个参数是发送完成后想要进行的“动作”。
<uses-permission android:name="android.permission.FLASHLIGHT" />
//调用手机前置提示灯。
//setLights(int argb,int onMs,int offMs),通知栏设置提示灯,argb为-1表示不重复,为其他数字表示重复次数,onMs表示亮着的时间,offMs表示暗下的时间。
<uses-permission android:name="android.permission.READ_SMS" />
//读取短信的权限,一般和接收短信权限一起申明。
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
//获取当前电话状态(经常用在拦截陌生人电话功能上,不过从某以版本起,不能直接操纵电话挂断,具体功能实现请参照百度)
//略
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
//wifi接口,获取使用wifi等wlan网络权限。
<uses-permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE" //改变wifi多播状态。
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
//更改wifi状态,需要打开或者关闭wifi时使用。
//(WifiManager) Context.getSystemService(Service.WIFI_SERVICE).setWifiEnabled(boolean able),设置为true则是打开wifi。getWifiState()可以获取wifi状态。
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
//允许把提示框显示在window界面(大多时候提示框需要显示时应用处于关闭状态,不在活动中,如果需要使用此功能得手动设置手机启用悬浮窗)
/*
AlertDialog.Builder dialog=new AlertDialog.Builder(Context);
//新建提示框对象需要借助内部类Builder完成,此提示框需要设置代码取消,点击不会自动关闭。
AlertDialog d=dialog.create();
d.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);
//设置提示框类型,此处设置提示框为系统级别,否则提示框无法显示。
d.show();
*/
<uses-permission android:name="android.permission.INTERNET" />
//获得networking APIs的使用权限(使用网络功能时一般都需要打开)
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
//访问外存文件或路径
//获取真实路径方法:Environment.getExternalStorageDirectory()
<uses-permission             android:name="android.permission.MEDIA_CONTENT_CONTROL" />
//***Added in API level 21***,允许对多媒体文件进行控制,比如播放音乐,播放视频
/*Cursor cursor=getContentResolver().query(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,null,"duration>?",new String[]{String.valueOf(30)}, MediaStore.Audio.Media.DEFAULT_SORT_ORDER);从系统内置应用中获取音乐列表(时长大于30秒的)。
*/
<uses-permission android:name="android.permission.CAMERA" />
//允许使用摄像头
/*File file=new File(Environment.getExternalStorageDirectory()+"new.jpg");
Uri imageUri= Uri.fromFile(file);
Intent intent=new Intent("android.media.action.IMAGE_CAPTURE");
intent.putExtra(MediaStore.EXTRA_OUTPUT,imageUri);
//调用系统内置摄像应用,然后设置输出位置为imageUri,等完成照相功能后根目录就会多出来一张new.jpg图片。此涉及文件新建写入,因此还需申明其他权限。
startActivityForResult(intent, 1);
*/
<uses-permission android:name="android.permission.CAPTURE_SECURE_VIDEO_OUTPUT" />
//使用摄像头录像功能。
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
//向外存写入数据
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
//外存***文件***新建或删除操作。
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
//允许用户通过网络或者wifi的方式获取地理位置(通过网络方式实际是通过查找最近的基站来确定位置,因此不会太精确)
/*(LocationManager)getSystemService(LOCATION_SERVICE).getLastKnownLocation(LocationManager.GPS_PROVIDER),这可以通过Gps获取位置信息,LocationManager.NETWORK_PROVIDER代表通过网络获取位置信息,(LocationManager)getSystemService(LOCATION_SERVICE).getProviders(true)可以获取所有可用的位置提供器列表。
切记:百度地图使用的经纬度与系统得到的经纬度是不同的,需要转换。
访问URL url=new URL("http://ditu.google.cn/maps/api/geocode/jsonlatlng="+latitude+","+longitude +"&sensor=false")可以得到一个包含位置的json格式的信息;latitude表示纬度,longitude表示经度。
*/
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
//允许用户通过gps方式获取位置信息(位置精确,但比较耗费电量)。
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
//允许应用程序访问额外的位置提供命令(不怎么使用)
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
//允许应用程序读取或写入系统设置
//
<uses-permission android:name="android.permission.CALL_PHONE" />
//允许拨打电话(使用内置拨号应用)
/*Intent intent=new Intent(Intent.ACTION_DIAL,Uri.parse("tel:"+phoneNumber));
//第二个参数传入想要拨打的号码,URI格式为“tel:”+号码;
startActivity(intent);
*/
<uses-permission android:name="com.android.launcher.permission.READ_SETTINGS" />
//允许读取系统设置(可以访问系统设置信息)
<uses-permission android:name="android.permission.ACCESS_GPS" />
//允许使用Gps,(这知识允许使用,gps功能还是需要用户手动打开)
<uses-permission android:name="android.permission.WAKE_LOCK"/>
//允许应用程序在手机锁屏后进程仍然运行


若今后开发使用到新的权限,会随时更新……
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: