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"/> //允许应用程序在手机锁屏后进程仍然运行
若今后开发使用到新的权限,会随时更新……
相关文章推荐
- 如何在VirtualBox虚拟机中安装Android x86
- android经典DEMO
- Android项目源代码目录结构
- android 防止多次点击,它会导致事件侦听响应于其他接口
- 64位Android应用程序安装与应用程序启动分析
- Android开源项目--分类汇总
- Android studio 导入第三方库
- Android 支付宝支付功能封装实现
- Android中dp和px之间进行转换
- android编程开发之全屏和退出全屏的实现方法
- android nfc写入应用程序包名与网址 自动打开应用程序与网址
- Android AsyncTask实例
- Android Studio Mac电脑常用快捷键
- androidStudio依赖项目
- 优化Android Studio/Gradle构建
- Android CountDownLatch的使用
- android基础之onSaveInstanceState用法(二)
- [转]Android ANR 分析解决方法
- android ExpandableListView
- android 开发之 显示图片