123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 |
- package com.yanyi.basepermission;
- import android.Manifest;
- import android.app.Activity;
- import android.content.Intent;
- import android.net.Uri;
- import android.os.Build;
- import android.os.Bundle;
- import android.util.Log;
- import androidx.annotation.Nullable;
- import androidx.appcompat.app.AppCompatActivity;
- import com.benyanyi.permissionlib.callback.PermissionCallBack;
- import com.benyanyi.permissionlib.PermissionHelper;
- /**
- * @author myLove
- * @date 2018-06-06 11:30
- * @email ben@yanyi.red
- * @overview
- */
- public class MainActivity extends AppCompatActivity {
- @Override
- protected void onCreate(@Nullable Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.act_main);
- PermissionHelper.with(this)
- .setPermissions(Manifest.permission.READ_PHONE_STATE,
- Manifest.permission.CALL_PHONE,
- Manifest.permission.ACCESS_COARSE_LOCATION,
- Manifest.permission.ACCESS_FINE_LOCATION,
- Manifest.permission.WRITE_EXTERNAL_STORAGE,
- Manifest.permission.MANAGE_EXTERNAL_STORAGE)
- .setDefaultPermissionDialogInfo()
- .request(new PermissionCallBack() {
- @Override
- public void onSuccess() {
- log("请求成功");
- }
- @Override
- public void onFailure(String[] failurePermissions) {
- log("请求失败");
- }
- @Override
- public void onComplete() {
- log("请求结束");
- }
- });
- // .onPermissionSuccess(() -> log("请求成功"))
- // .onPermissionFailure(strings -> {
- // StringBuilder str = new StringBuilder();
- // for (String s : strings) {
- // str.append("\n").append(s);
- // }
- // log(str.toString());
- // })
- // .onPermissionComplete(() -> log("请求完成"));
- }
- private Intent getAppDetailSettingIntent(Activity activity) {
- Intent localIntent = new Intent();
- localIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.GINGERBREAD) {
- localIntent.setAction("android.settings.APPLICATION_DETAILS_SETTINGS");
- localIntent.setData(Uri.fromParts("package", activity.getApplicationContext().getPackageName(), null));
- } else {
- localIntent.setAction(Intent.ACTION_VIEW);
- localIntent.setClassName("com.android.settings", "com.android.settings.InstalledAppDetails");
- localIntent.putExtra("com.android.settings.ApplicationPkgName", activity.getApplicationContext().getPackageName());
- }
- return localIntent;
- }
- private void log(Object object) {
- Log.d(defaultTag(), object.toString());
- }
- private String defaultTag() {
- StackTraceElement[] stackTrace = Thread.currentThread().getStackTrace();
- StackTraceElement log = stackTrace[1];
- String tag = null;
- for (int i = 1; i < stackTrace.length; i++) {
- StackTraceElement e = stackTrace[i];
- if (!e.getClassName().equals(log.getClassName())
- && !"defaultTag".equals(e.getMethodName())
- && !"log".equals(e.getMethodName())) {
- tag = e.getClassName() + "." + e.getMethodName();
- break;
- }
- }
- if (tag == null) {
- tag = log.getClassName() + "." + log.getMethodName();
- }
- return tag;
- }
- }
|