从未预制Chrome书签的版本Gota(fota)在线升级到预制Chrome书签的版本,打开Chrome出现权限报错问题

从未预制Chrome书签的版本Gota(fota)在线升级到预制Chrome书签的版本,打开Chrome, 点击书签,界面出现"Chrome keeps stopping" 权限报错问题

原因是因预置书签的partnerbookmarks项目采用mk文件,采用了平台签名,声明权限去引用相关接口,因在Gota升级前未有该平台签名,故会报权限异常错误。

 

规避办法,如果未获得接口,手动catch该异常,不进行书签预置操作。

需要注意的是,采用该办法,Gota升级的软件版本不会带有Chrome 书签预置。

packages/providers/PartnerBookmarksProvider/src/com/android/providers/partnerbookmarks/PartnerBookmarksProvider.java

                CarrierConfigManager configManager = (CarrierConfigManager) getContext().getSystemService(

                    Context.CARRIER_CONFIG_SERVICE);

                int subId = SubscriptionManager.getDefaultDataSubscriptionId();

                if (configManager != null) {

                    //+PAN-20766, add, catch GOTA update SecurityException

                    try {

                        PersistableBundle pb = configManager.getConfigForSubId(subId);

                        if (pb != null) {

                            carrierConfigBookMarksFolderName = pb.getString(CarrierConfigManager.KEY_BOOK_MARK_FOLDER_NAME);

                            carrierConfigBookMarks = pb.getStringArray(CarrierConfigManager.KEY_BOOK_MARK_DATAS);

                            Log.d(TAG, "chentest [prepareForConfiguration] KEY_BOOK_MARK_FOLDER_NAME="

                                    +carrierConfigBookMarksFolderName+" KEY_BOOK_MARK_DATAS="+carrierConfigBookMarks);

                        }

                    } catch (SecurityException e) {

                        Log.d(TAG, "chentest [prepareForConfiguration] SecurityException");

                        e.printStackTrace();

                    }

                    //-PAN-20766, add, catch GOTA update SecurityException

                }

发布了31 篇原创文章 · 获赞 6 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/u012824529/article/details/91983407
今日推荐