apk动态权限申请
高版本SDK中apk敏感操作需要动态申请权限
举个例子,SMS操作
在AndroidMainfest.xml中配置需要申请的权限
<uses-permission android:name="android.permission.SEND_SMS" />
<uses-permission android:name="android.permission.READ_SMS" />
<uses-permission android:name="android.permission.RECEIVE_SMS" />
代码中在做相关操作时先进行权限判断,如果没得权限就行申请
// //申请写读取权限
String[] permissions = {Manifest.permission.READ_SMS};
if(PackageManager.PERMISSION_GRANTED != ActivityCompat.checkSelfPermission(this,Manifest.permission.READ_SMS)){
requestPermissions(permissions,200);
}else {
//一系列操作
Toast.makeText(this,"您已经申请了权限!",Toast.LENGTH_SHORT).show();
}
申请权限的结果处理:
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
if(grantResults[0] == PackageManager.PERMISSION_GRANTED){
Toast toast1=Toast.makeText(MainActivity.this,String.valueOf(ActivityCompat.checkSelfPermission(this,Manifest.permission.READ_SMS)),Toast.LENGTH_SHORT );
toast1.setGravity(Gravity.CENTER, 0, 0);
toast1.show();
// getData();
// simpleAdapter.notifyDataSetChanged();
}
}