[chromium][browser][idea][open] 如何重写自己的android.provider.Browser

AOSP的Browser中使用的是系统的android.provider.Browser,如果想自己管理一套收藏夹和访问历史,可以试着重写一下


1、新包中添加frameworks\base\core\java\android\provider中的BrowserContract.java和Browser.java

2、Browser.java中的WebIconDatabase改成自身的


接下来是如何把android.provider.Browser进行替换的问题,我用的是土办法,

把sdk的android.jar中先把android.provider.Browser删除(记得要备份一个android.jar)

把引用的framework_intermediates和framework-base_intermediates中android.provider.Browser和BrowserContract都删除


然后刷新工程,看到一堆错误出现,其中content、chrome和browser三个部分都会报错

先不急着修改包名,我们需要把里面的关键字先改掉


3、AndroidMannifest中加上自己的.provider.BrowserProvider2,修改authorities名称为自己的关键字

      Permission也改成自己的包名。

4、修改BrowserProvider

1)sDatabaseName名称

2)把getBookmarksSuggestions中browser改成自定义的

5、修改BrowserProvider2

1)把LEGACY_AUTHORITY修改成自定义的

6、新建provider的BrowserContract中修改

1)AUTHORITY改成自定义的

6、新建provider的Browser中修改

1)BOOKMARKS_URI、SEARCHES_URI、EXTRA_HEADERS、EXTRA_APPLICATION_ID、INITIAL_ZOOM_LEVEL修改成自定义的

7、修改chrome中ChromeBrowserProvider的

1)API_AUTHORITY_SUFFIX

2)BROWSER_CONTRACT_AUTHORITY

3)mUriMatcher.addURI("browser" ......


8接下来就是把所有异常的报名统一替换掉


重新编译运行,收藏夹和历史记录就是新的了







评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值