rk3326 Android10.0系统源码修改默认授予动态权限

RK3326-Android10.0\packages\apps\PermissionController\src\com\android\packageinstaller\permission\ui\handheld\GrantPermissionsViewHandlerImpl

// 添加如下代码即可 

 @Override
    public void updateUi(String groupName, int groupCount, int groupIndex, Icon icon,
            CharSequence message, CharSequence detailMessage, CharSequence[] buttonLabels) {
        boolean isNewGroup = mGroupIndex != groupIndex;

        mGroupName = groupName;
        mGroupCount = groupCount;
        mGroupIndex = groupIndex;
        mGroupIcon = icon;
        mGroupMessage = message;
        mDetailMessage = detailMessage;
        mButtonLabels = buttonLabels;

        // If this is a second (or later) permission and the views exist, then animate.
        if (mIconView != null) {
            updateAll();
        }
    }

    private void updateAll() {
        updateDescription();
        updateDetailDescription();
        updateButtons();

//      Animate change in size
//      Grow or shrink the content container to size of new content
        ChangeBounds growShrinkToNewContentSize = new ChangeBounds();
        growShrinkToNewContentSize.setDuration(ANIMATION_DURATION_MILLIS);
        growShrinkToNewContentSize.setInterpolator(AnimationUtils.loadInterpolator(mActivity,
                android.R.interpolator.fast_out_slow_in));
        TransitionManager.beginDelayedTransition(mRootView, growShrinkToNewContentSize);
		
		// 添加如下代码即可 
		 new android.os.Handler().postDelayed(new Runnable() {
            @Override
            public void run() {
                     if (mResultListener != null) {
					Log.e("denganzhi","click--------next 21111111  000000");
                    mRootView.performAccessibilityAction(
                            AccessibilityNodeInfo.ACTION_CLEAR_ACCESSIBILITY_FOCUS, null);
                    mResultListener.onPermissionGrantResult(mGroupName, GRANTED_ALWAYS);
                }
            }
        },3000);
// 添加如下代码即可 
    }

RK3326-Android10.0\packages\apps\PermissionController\src\com\android\packageinstaller\permission\ui\GrantPermissionsActivity  实现 原理

public class GrantPermissionsActivity extends Activity {  

public void onCreate(Bundle icicle) {
      Log.e(Tag,"allPermission:"+  java.util.Arrays.toString(mRequestedPermissions));
  //  allPermission:[android.permission.WRITE_EXTERNAL_STORAGE, android.permission.CALL_PHONE]
             ↓     
     if (!showNextPermissionGroupGrantRequest()) {  // 弹出对话框请求权限
            setResultAndFinish();  
     }
  }
  showNextPermissionGroupGrantRequest(){
           mViewHandler.updateUi() // 显示对话框 
  }

     public void onPermissionGrantResult(){  //点击确定取消以后回调 
           if (!showNextPermissionGroupGrantRequest()) {   // 继续下一个权限 
            setResultAndFinish();   // 申请权限结束,关闭对话框
           } 
     }

}

 

 

 

 

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值