从未预制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
}