Android 권한 신청-여러 권한
5937 단어 Android
Permissions Dispatcher 기반
package com.ycz.at_cdm_station;
import android.Manifest;
import android.annotation.SuppressLint;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.net.Uri;
import android.provider.Settings;
import android.util.Log;
import android.view.Window;
import android.view.WindowManager;
import android.widget.TextView;
import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AlertDialog;
import androidx.core.app.ActivityCompat;
import com.alibaba.android.arouter.facade.annotation.Route;
import com.lljjcoder.style.citylist.Toast.ToastUtils;
import com.transformers.common.mvp.BaseActivity;
import com.transformers.common.provider.IMainProvider;
import com.transformers.common.util.SystemUtil;
import com.transformers.common.util.ToastUtil;
import com.transformers.common.util.log.KLogUtil;
import com.transformers.main.MainActivity;
import permissions.dispatcher.NeedsPermission;
import permissions.dispatcher.OnNeverAskAgain;
import permissions.dispatcher.OnPermissionDenied;
import permissions.dispatcher.OnShowRationale;
import permissions.dispatcher.PermissionRequest;
import permissions.dispatcher.RuntimePermissions;
/**
* author: jiaxufei([email protected])
* version: 1.0.0
* since: 2020-03-27 16:54
*
*
*
*
*/
@RuntimePermissions
public class SplashActivity extends BaseActivity {
//
private boolean isAllowPermissions = false;
@Override
public int onBindLayout() {
return R.layout.activity_main_splash;
}
@Override
public void initView() {
if (!isAllowPermissions) {
SplashActivityPermissionsDispatcher.requestPermissionWithPermissionCheck(SplashActivity.this);
} else {
requestPermission();
}
//
Window window = getWindow();
window.setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
startMainActivity();
}
@Override
public boolean enableToolbar() {
return false;
}
@Override
public void initData() {
}
public void startMainActivity() {
// startActivity(new Intent(this, MainActivity.class));
// finish();
}
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
SplashActivityPermissionsDispatcher.onRequestPermissionsResult( SplashActivity.this, requestCode, grantResults);
}
/**
* , 2, CALL_PHONE ,
*/
@NeedsPermission({Manifest.permission.CALL_PHONE,Manifest.permission.READ_EXTERNAL_STORAGE,
Manifest.permission.WRITE_EXTERNAL_STORAGE})
public void requestPermission() {
isAllowPermissions = true;
Toast.makeText(SplashActivity.this, " ", Toast.LENGTH_SHORT).show();
}
/**
* , " ",
*/
@OnPermissionDenied({Manifest.permission.CALL_PHONE,Manifest.permission.READ_EXTERNAL_STORAGE,
Manifest.permission.WRITE_EXTERNAL_STORAGE})
public void requestPermissionDenied() {
Toast.makeText(SplashActivity.this, " ", Toast.LENGTH_SHORT).show();
}
/**
* ,
*
* @param permissionRequest
*/
@OnShowRationale({Manifest.permission.CALL_PHONE,Manifest.permission.READ_EXTERNAL_STORAGE,
Manifest.permission.WRITE_EXTERNAL_STORAGE})
public void requestPermissionShowRationale(final PermissionRequest permissionRequest) {
new AlertDialog.Builder(this).setMessage(" ")
.setPositiveButton(" ", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {// ,
permissionRequest.proceed();
}
})
.setNegativeButton(" ", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {// , requestPermissionDenied
permissionRequest.cancel();
}
}).show();
}
/**
* , " ",
*/
@OnNeverAskAgain({Manifest.permission.CALL_PHONE,Manifest.permission.READ_EXTERNAL_STORAGE,
Manifest.permission.WRITE_EXTERNAL_STORAGE,})
public void requestPermissionNeverAskAgain() {
new AlertDialog.Builder(this)
.setMessage(" , , ?")
.setPositiveButton(" ", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
//
Intent intent = new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
Uri uri = Uri.fromParts("package", SplashActivity.this.getPackageName(), null);
intent.setData(uri);
startActivity(intent);
dialog.dismiss();
}
})
.setNegativeButton(" ", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
})
.show(); }
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Bitrise에서 배포 어플리케이션 설정 테스트하기이 글은 Bitrise 광고 달력의 23일째 글입니다. 자체 또는 당사 등에서 Bitrise 구축 서비스를 사용합니다. 그나저나 며칠 전 Bitrise User Group Meetup #3에서 아래 슬라이드를 발표했...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.