Android开发&常用权限使用

来源:互联网 发布:tensorflow.org打不开 编辑:程序博客网 时间:2024/06/05 22:57

安卓开发常见的权限,以及简单说明。

<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"/>//允许应用程序在手机锁屏后进程仍然运行

若今后开发使用到新的权限,会随时更新……

0 0