|  |  | 
 |  |  | package com.dayu.pipirrapp.observer; | 
 |  |  |  | 
 |  |  | import android.app.Activity; | 
 |  |  | import android.text.InputType; | 
 |  |  | import android.text.TextUtils; | 
 |  |  |  | 
 |  |  | import androidx.annotation.NonNull; | 
 |  |  | import androidx.lifecycle.DefaultLifecycleObserver; | 
 |  |  | import androidx.lifecycle.LifecycleOwner; | 
 |  |  |  | 
 |  |  | import com.dayu.pipirrapp.R; | 
 |  |  | import com.dayu.pipirrapp.activity.LoginActivity; | 
 |  |  | import com.dayu.pipirrapp.MyApplication; | 
 |  |  | import com.dayu.pipirrapp.bean.db.TagBean; | 
 |  |  | import com.dayu.pipirrapp.dao.DaoSingleton; | 
 |  |  | import com.dayu.pipirrapp.view.TagDialog; | 
 |  |  | import com.hjq.permissions.OnPermissionCallback; | 
 |  |  | import com.hjq.permissions.Permission; | 
 |  |  | import com.hjq.permissions.XXPermissions; | 
 |  |  | 
 |  |  |             Permission.WRITE_EXTERNAL_STORAGE, | 
 |  |  |             Permission.READ_EXTERNAL_STORAGE, | 
 |  |  |             Permission.READ_PHONE_STATE | 
 |  |  |  | 
 |  |  |     }; | 
 |  |  |  | 
 |  |  |     Activity myActivity; | 
 |  |  | 
 |  |  |     public void onCreate(@NonNull LifecycleOwner owner) { | 
 |  |  |         DefaultLifecycleObserver.super.onCreate(owner); | 
 |  |  |         getPermissions(); | 
 |  |  |  | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     private void getPermissions() { | 
 |  |  | 
 |  |  |  | 
 |  |  |                         @Override | 
 |  |  |                         public void onGranted(@NonNull List<String> permissions, boolean allGranted) { | 
 |  |  |                             if (permissions.contains(Permission.WRITE_EXTERNAL_STORAGE)) { | 
 |  |  |                                 TagBean tagBean = DaoSingleton.getInstance(myActivity).tagDao().findFirst(); | 
 |  |  |                                 if (tagBean == null || TextUtils.isEmpty(tagBean.getTag())) { | 
 |  |  |                                     choesLibrary(); | 
 |  |  |                                 } else { | 
 |  |  |                                     MyApplication.myApplication.myTag = tagBean.getTag(); | 
 |  |  |                                 } | 
 |  |  |                             } | 
 |  |  |                             if (!allGranted) { | 
 |  |  | //                                toast("获取部分权限成功,但部分权限未正常授予"); | 
 |  |  |                                 return; | 
 |  |  |                             } | 
 |  |  | //                            if (!XXPermissions.isGranted(myActivity, Permission.SYSTEM_ALERT_WINDOW)) { | 
 |  |  | //                                new TipDialog(MainActivity.this, "请开启悬浮窗权限,允许本应用显示在其他应用的上层", new TipUtil.TipListener() { | 
 |  |  | //                                    @Override | 
 |  |  | //                                    public void onCancle() { | 
 |  |  | //                                        XXPermissions.startPermissionActivity(MainActivity.this, Permission.SYSTEM_ALERT_WINDOW); | 
 |  |  | //                                    } | 
 |  |  | //                                }).show(); | 
 |  |  | //                            } | 
 |  |  | //                            toast("获取录音和日历权限成功"); | 
 |  |  |                         } | 
 |  |  |  | 
 |  |  |                         @Override | 
 |  |  | 
 |  |  |                             if (doNotAskAgain) { | 
 |  |  | //                                toast("被永久拒绝授权,请手动授予录音和日历权限"); | 
 |  |  |                                 // 如果是被永久拒绝就跳转到应用权限系统设置页面 | 
 |  |  |  | 
 |  |  |  | 
 |  |  |                             } else { | 
 |  |  | //                                toast("获取录音和日历权限失败"); | 
 |  |  |                             } | 
 |  |  | 
 |  |  |         } | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 选择版本 | 
 |  |  |      */ | 
 |  |  |     public void choesLibrary() { | 
 |  |  |  | 
 |  |  |         TagDialog dialog = new TagDialog(myActivity, type -> { | 
 |  |  |  | 
 |  |  |         }); | 
 |  |  |         dialog.show(); | 
 |  |  |     } | 
 |  |  | } |