文章目录
Android开发笔记(一)
最近接手实验室研三的师兄师姐准备走了,接手他们遗留下来的工作。有个移动群智感知平台真的把我恶心坏了。基本架构如下:
分工的时候我接手安卓和hadoop,往后对接估计又是累到吐血。真tm的脑残。
师兄信誓旦旦的和我说安卓4.0向后兼容,基本不会有问题。。。[白眼]
权限申请
安卓6.0以前通过添加<uses-permission android:name=''>
标签就可以添加对应的权限。这样在安装的时候,用户可以直接查看到这个软件需要用到哪些权限,选择是否安装。这导致的问题是开发者为了方便,会提前添加许多危险的权限。为了解决的这样带来的问题,在安卓6.0以后普通权限会自动授权,而危险权限需要程序提交申请,用户进行授权。比如我们程序中需要用到的GPS权限。代码如下:
if (ContextCompat.checkSelfPermission(activity,Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(activity,new String[]{ Manifest.permission.ACCESS_FINE_LOCATION},1);
}
checkSelfPermission是类ContextCompat的静态方法,ContextCompat需要导入包android-support-v4.jar
。该方法的第一个参数传入的是Acitivity的对象,第二个参数是检查的权限。PackageManager.PERMISSION_GRANTED
是授权。ActivityCompat.requestPermissions
方法的第一个参数是activity,第一个参数是请求的授权,第三个参数是请求码。