Java源码示例:com.yanzhenjie.permission.runtime.Permission
示例1
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
switch (requestCode) {
case REQUEST_CODE_SETTING_PERMISSION: {
if (AndPermission.hasPermissions(this, Permission.Group.STORAGE)) {
tryLogin();
} else {
finish();
}
break;
}
}
}
示例2
@Override
protected void initView() {
super.initView();
AndPermission.with(this)
.runtime()
.permission(Permission.WRITE_EXTERNAL_STORAGE)
.start();
//检测当前是用的哪个播放器
Object factory = Utils.getCurrentPlayerFactory();
if (factory instanceof ExoMediaPlayerFactory) {
setTitle(getResources().getString(R.string.app_name) + " (ExoPlayer)");
} else if (factory instanceof IjkPlayerFactory) {
setTitle(getResources().getString(R.string.app_name) + " (IjkPlayer)");
} else if (factory instanceof AndroidMediaPlayerFactory) {
setTitle(getResources().getString(R.string.app_name) + " (MediaPlayer)");
} else {
setTitle(getResources().getString(R.string.app_name) + " (unknown)");
}
BottomNavigationView bottomNavigationView = findViewById(R.id.nav_view);
bottomNavigationView.setOnNavigationItemSelectedListener(this);
mFragments.add(new ApiFragment());
mFragments.add(new ListFragment());
mFragments.add(new ExtensionFragment());
mFragments.add(new PipFragment());
getSupportFragmentManager().beginTransaction()
.add(R.id.layout_content, mFragments.get(0))
.commitAllowingStateLoss();
mCurrentIndex = 0;
}
示例3
public String name(String permission) {
return Permission.transformText(mContextHolder.getContext(), permission).get(0);
}
示例4
private boolean hasPermission(Context context, String permission) {
try {
switch (permission) {
case Permission.READ_CALENDAR:
return checkReadCalendar(context);
case Permission.WRITE_CALENDAR:
return checkWriteCalendar(context);
case Permission.CAMERA:
return checkCamera(context);
case Permission.READ_CONTACTS:
return checkReadContacts(context);
case Permission.WRITE_CONTACTS:
return checkWriteContacts(context);
case Permission.GET_ACCOUNTS:
return true;
case Permission.ACCESS_COARSE_LOCATION:
return checkCoarseLocation(context);
case Permission.ACCESS_FINE_LOCATION:
return checkFineLocation(context);
case Permission.RECORD_AUDIO:
return checkRecordAudio(context);
case Permission.READ_PHONE_STATE:
return checkReadPhoneState(context);
case Permission.CALL_PHONE:
return true;
case Permission.READ_CALL_LOG:
return checkReadCallLog(context);
case Permission.WRITE_CALL_LOG:
return checkWriteCallLog(context);
case Permission.ADD_VOICEMAIL:
return true;
case Permission.USE_SIP:
return checkSip(context);
case Permission.PROCESS_OUTGOING_CALLS:
return true;
case Permission.BODY_SENSORS:
return checkSensorHeart(context);
case Permission.ACTIVITY_RECOGNITION:
return checkSensorActivity(context);
case Permission.SEND_SMS:
case Permission.RECEIVE_MMS:
return true;
case Permission.READ_SMS:
return checkReadSms(context);
case Permission.RECEIVE_WAP_PUSH:
case Permission.RECEIVE_SMS:
return true;
case Permission.READ_EXTERNAL_STORAGE:
return checkReadStorage();
case Permission.WRITE_EXTERNAL_STORAGE:
return checkWriteStorage(context);
}
} catch (Throwable e) {
return false;
}
return true;
}