启动时的运行时权限
Runtime Permission at Startup
我有一个手电筒需要 CAMERA 和 WRITE_SETTINGS 权限,我需要先处理这些我已经知道怎么做的权限,然后如果被授予,例如,启动我的 main activity...
(对不起,我是android的新人)
从 github 添加这个库到你的 gradle 文件
比添加此代码
PermissionListener permissionlistener = new PermissionListener() {
@Override
public void onPermissionGranted() {
//The user have conceded permission
Toast.makeText(MainActivity.this, "Permission Granted", Toast.LENGTH_SHORT).show();
}
@Override
public void onPermissionDenied(ArrayList<String> deniedPermissions) {
//close the app or do whatever you want
Toast.makeText(MainActivity.this, "Permission Denied\n" + deniedPermissions.toString(), Toast.LENGTH_SHORT).show();
}
};
new TedPermission(this)
.setPermissionListener(permissionlistener)
.setDeniedMessage("If you reject permission,you can not use this service\n\nPlease turn on permissions at [Setting] > [Permission]")
.setPermissions(Manifest.permission.READ_CONTACTS, Manifest.permission.ACCESS_FINE_LOCATION)
.check();
或者,如果您更喜欢本地操作,请查看 google docs
在您的清单文件中添加权限:
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.CALL_PHONE" />
在主 activity java 文件中的“onCreate”中添加以下代码
String[] PERMISSIONS = new String[]{
Manifest.permission.ACCESS_FINE_LOCATION,
Manifest.permission.CALL_PHONE};
if (
(ContextCompat.checkSelfPermission(MapsActivity.this, PERMISSIONS[0]) != PackageManager.PERMISSION_GRANTED) ||
(ContextCompat.checkSelfPermission(MapsActivity.this, PERMISSIONS[1]) != PackageManager.PERMISSION_GRANTED)
)
{
ActivityCompat.requestPermissions(MapsActivity.this, PERMISSIONS, REQUEST_INTERNET);
finish();
}
我有一个手电筒需要 CAMERA 和 WRITE_SETTINGS 权限,我需要先处理这些我已经知道怎么做的权限,然后如果被授予,例如,启动我的 main activity... (对不起,我是android的新人)
从 github 添加这个库到你的 gradle 文件
比添加此代码
PermissionListener permissionlistener = new PermissionListener() {
@Override
public void onPermissionGranted() {
//The user have conceded permission
Toast.makeText(MainActivity.this, "Permission Granted", Toast.LENGTH_SHORT).show();
}
@Override
public void onPermissionDenied(ArrayList<String> deniedPermissions) {
//close the app or do whatever you want
Toast.makeText(MainActivity.this, "Permission Denied\n" + deniedPermissions.toString(), Toast.LENGTH_SHORT).show();
}
};
new TedPermission(this)
.setPermissionListener(permissionlistener)
.setDeniedMessage("If you reject permission,you can not use this service\n\nPlease turn on permissions at [Setting] > [Permission]")
.setPermissions(Manifest.permission.READ_CONTACTS, Manifest.permission.ACCESS_FINE_LOCATION)
.check();
或者,如果您更喜欢本地操作,请查看 google docs
在您的清单文件中添加权限:
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.CALL_PHONE" />
在主 activity java 文件中的“onCreate”中添加以下代码
String[] PERMISSIONS = new String[]{
Manifest.permission.ACCESS_FINE_LOCATION,
Manifest.permission.CALL_PHONE};
if (
(ContextCompat.checkSelfPermission(MapsActivity.this, PERMISSIONS[0]) != PackageManager.PERMISSION_GRANTED) ||
(ContextCompat.checkSelfPermission(MapsActivity.this, PERMISSIONS[1]) != PackageManager.PERMISSION_GRANTED)
)
{
ActivityCompat.requestPermissions(MapsActivity.this, PERMISSIONS, REQUEST_INTERNET);
finish();
}