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;
}