预置Chrome浏览器默认主页和书签

2023-10-21 09:20

本文主要是介绍预置Chrome浏览器默认主页和书签,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

谷歌允许合作伙伴客制化Chrome的一些配置,如Chrome浏览器预置默认主页及书签,当预置成功后,将在状态栏看到主页的图标,可设置主页、主页的开启及关闭,可通过书签快捷打开对应网页。

       客制化主要通过添加对应ChromeCustomizations.apk(主页) 及PartnerBookmarksProvider.apk(书签)来实现,具体实现方法如下:

一、预置chrome默认主页(http://www.baidu.com)

1)下载homepage_provider_example工程,修改默认主页URL

       文件路径:src\com\android\partnerbrowsercustomizations\example\PartnerHomepageProviderExample.java

[java]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. // Copyright 2013 The Chromium Authors. All rights reserved.  
  2. // Use of this source code is governed by a BSD-style license that can be  
  3. // found in the LICENSE file.  
  4.   
  5. // Package path can be changed, but should match <manifest package="..."> in AndroidManifest.xml.  
  6. package com.android.partnerbrowsercustomizations.example;  
  7.   
  8. import android.content.ContentProvider;  
  9. import android.content.ContentValues;  
  10. import android.content.UriMatcher;  
  11. import android.database.Cursor;  
  12. import android.database.MatrixCursor;  
  13. import android.net.Uri;  
  14.   
  15. // Class name can be changed, but should match <provider android:name="..."> in AndroidManifest.xml.  
  16. public class PartnerHomepageProviderExample extends ContentProvider {  
  17.     // "http://www.android.com/" is just an example. Please replace this to actual homepage.  
  18.     // Other strings in this class must remain as it is.  
  19.     private static String HOMEPAGE_URI = "http://www.baidu.com";  
  20.     private static final int URI_MATCH_HOMEPAGE = 0;  
  21.     private static final UriMatcher URI_MATCHER = new UriMatcher(UriMatcher.NO_MATCH);  
  22.     static {  
  23.         URI_MATCHER.addURI("com.android.partnerbrowsercustomizations""homepage",  
  24.                 URI_MATCH_HOMEPAGE);  
  25.     }  
  26.   
  27.     @Override  
  28.     public boolean onCreate() {  
  29.         return true;  
  30.     }  
  31.   
  32.     @Override  
  33.     public String getType(Uri uri) {  
  34.         // In fact, Chrome does not call this.  
  35.         // Just a recommaned ContentProvider practice in general.  
  36.         switch (URI_MATCHER.match(uri)) {  
  37.             case URI_MATCH_HOMEPAGE:  
  38.                 return "vnd.android.cursor.item/partnerhomepage";  
  39.             default:  
  40.                 return null;  
  41.         }  
  42.     }  
  43.   
  44.     @Override  
  45.     public Cursor query(Uri uri, String[] projection, String selection, String[] selectionArgs,  
  46.             String sortOrder) {  
  47.         switch (URI_MATCHER.match(uri)) {  
  48.             case URI_MATCH_HOMEPAGE:  
  49.                 MatrixCursor cursor = new MatrixCursor(new String[] { "homepage" }, 1);  
  50.                 cursor.addRow(new Object[] { HOMEPAGE_URI });  
  51.                 return cursor;  
  52.             default:  
  53.                 return null;  
  54.         }  
  55.     }  
  56.   
  57.     @Override  
  58.     public Uri insert(Uri uri, ContentValues values) {  
  59.         throw new UnsupportedOperationException();  
  60.     }  
  61.   
  62.     @Override  
  63.     public int delete(Uri uri, String selection, String[] selectionArgs) {  
  64.         throw new UnsupportedOperationException();  
  65.     }  
  66.   
  67.     @Override  
  68.     public int update(Uri uri, ContentValues values, String selection, String[] selectionArgs) {  
  69.         throw new UnsupportedOperationException();  
  70.     }  
  71.   
  72. }  
2)编译工程,并push生成的apk到system/vendor/app/ 目录

       由于工程编译出来的名称为:homepage_provider_example.apk,所以push时要修改apk的名称为:ChromeCustomizations.apk,可用以下命令:

       adb push homepage_provider_example.apk system/vendor/app/ChromeCustomizations.apk


二、预置默认书签

1)下载PartnerBookmarksProvider工程(该工程也可在源码下找到,目录路径为:packages\providers\PartnerBookmarksProvider)

2)添加书签图片资源,目录路径为res\raw



3)添加书签名称及对应的网址,目录路径为:res\values\strings.xml

[html]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <!-- Copyright (C) 2012 The Android Open Source Project  
  3.   
  4.      Licensed under the Apache License, Version 2.0 (the "License");  
  5.      you may not use this file except in compliance with the License.  
  6.      You may obtain a copy of the License at  
  7.   
  8.           http://www.apache.org/licenses/LICENSE-2.0  
  9.   
  10.      Unless required by applicable law or agreed to in writing, software  
  11.      distributed under the License is distributed on an "AS IS" BASIS,  
  12.      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  
  13.      See the License for the specific language governing permissions and  
  14.      limitations under the License.  
  15. -->  
  16.   
  17. <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">  
  18.     <!-- Bookmarks -->  
  19.     <string name="bookmarks_folder_name">Default Bookmarks</string>  
  20.     <string-array name="bookmarks">  
  21.         <item>Google</item>  
  22.         <item>http://www.google.com/</item>  
  23.         <item>Yahoo</item>  
  24.         <item>http://www.yahoo.com/</item>  
  25.         <item>Picasa</item>  
  26.         <item>http://picasaweb.google.com/</item>  
  27.         <item>MSN</item>  
  28.         <item>http://www.msn.com/</item>  
  29.         <item>Twitter</item>  
  30.         <item>http://twitter.com/</item>  
  31.         <item>Facebook</item>  
  32.         <item>http://www.facebook.com/</item>  
  33.         <item>Wikipedia</item>  
  34.         <item>http://www.wikipedia.org/</item>  
  35.         <item>eBay</item>  
  36.         <item>http://www.ebay.com/</item>  
  37.         <item>CNN</item>  
  38.         <item>http://www.cnn.com/</item>  
  39.         <item>NY Times</item>  
  40.         <item>http://www.nytimes.com/</item>  
  41.         <item>ESPN</item>  
  42.         <item>http://espn.com/</item>  
  43.         <item>Amazon</item>  
  44.         <item>http://www.amazon.com/</item>  
  45.         <item>Weather Channel</item>  
  46.         <item>http://www.weather.com/</item>  
  47.         <item>BBC</item>  
  48.         <item>http://www.bbc.co.uk/</item>  
  49.     </string-array>  
  50. </resources>  
4)添加书签对应的图标,目录路径为:res\values\bookmarks_icons.xml
[html]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <!-- Copyright (C) 2012 The Android Open Source Project  
  3.   
  4.      Licensed under the Apache License, Version 2.0 (the "License");  
  5.      you may not use this file except in compliance with the License.  
  6.      You may obtain a copy of the License at  
  7.   
  8.           http://www.apache.org/licenses/LICENSE-2.0  
  9.   
  10.      Unless required by applicable law or agreed to in writing, software  
  11.      distributed under the License is distributed on an "AS IS" BASIS,  
  12.      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  
  13.      See the License for the specific language governing permissions and  
  14.      limitations under the License.  
  15. -->  
  16.   
  17. <resources>  
  18.     <array name="bookmark_preloads">  
  19.         <item>@raw/favicon_google</item>  
  20.         <item>@raw/touch_google</item>  
  21.         <item>@raw/favicon_yahoo</item>  
  22.         <item>@raw/thumb_yahoo</item>  
  23.         <item>@raw/favicon_picasa</item>  
  24.         <item>@raw/thumb_picasa</item>  
  25.         <item>@raw/favicon_msn</item>  
  26.         <item>@raw/thumb_msn</item>  
  27.         <item>@raw/favicon_twitter</item>  
  28.         <item>@raw/thumb_twitter</item>  
  29.         <item>@raw/favicon_facebook</item>  
  30.         <item>@raw/thumb_facebook</item>  
  31.         <item>@raw/favicon_wikipedia</item>  
  32.         <item>@raw/thumb_wikipedia</item>  
  33.         <item>@raw/favicon_ebay</item>  
  34.         <item>@raw/thumb_ebay</item>  
  35.         <item>@raw/favicon_cnn</item>  
  36.         <item>@raw/thumb_cnn</item>  
  37.         <item>@raw/favicon_nytimes</item>  
  38.         <item>@raw/thumb_nytimes</item>  
  39.         <item>@raw/favicon_espn</item>  
  40.         <item>@raw/thumb_espn</item>  
  41.         <item>@raw/favicon_amazon</item>  
  42.         <item>@raw/thumb_amazon</item>  
  43.         <item>@raw/favicon_weatherchannel</item>  
  44.         <item>@raw/thumb_weatherchannel</item>  
  45.         <item>@raw/favicon_bbc</item>  
  46.         <item>@raw/thumb_bbc</item>  
  47.     </array>  
  48. </resources>  
5)编译工程,并把工程push到system/app目录下,可用以下命令:

adb push PartnerBookmarksProvider.apk system/app

三、最终结果:



注:资源文件下载 http://download.csdn.net/detail/jiulousanti/7828169

这篇关于预置Chrome浏览器默认主页和书签的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/253433

相关文章

Python如何使用seleniumwire接管Chrome查看控制台中参数

《Python如何使用seleniumwire接管Chrome查看控制台中参数》文章介绍了如何使用Python的seleniumwire库来接管Chrome浏览器,并通过控制台查看接口参数,本文给大家... 1、cmd打开控制台,启动谷歌并制定端口号,找不到文件的加环境变量chrome.exe --rem

zeroclipboard 粘贴板的应用示例, 兼容 Chrome、IE等多浏览器

zeroclipboard单个复制按钮和多个复制按钮的实现方法 最近网站改版想让复制代码功能在多个浏览器上都可以实现,最近看网上不少说我们的代码复制功能不好用的,我们最近将会增加代码高亮等功能,希望大家多多支持我们 zeroclipboard是一个跨浏览器的库类 它利用 Flash 进行复制,所以只要浏览器装有 Flash 就可以运行,而且比 IE 的

微软正式推出 Spartan 斯巴达浏览器

作为用于替代 IE 浏览器的下一代继任者,微软的 Project Spartan 斯巴达浏览器可算是吊足了玩家们的胃口!如今,在最新的 Windows 10 Build 10049 版本起,它终于正式登场了。 斯巴达浏览器搭载了全新的渲染引擎、新的用户界面并集成了 Cortana 语音助手。功能上新增了稍后阅读列表、阅读视图、F12开发者工具、支持网页注释 (手写涂鸦),可以保存到 O

PC与android平板通过浏览器监控Verybot的视频

下面这个视频是PC与android平板通过浏览器监控Verybot的视频:           http://v.youku.com/v_show/id_XNjYzNzYyMTIw.html

搜狗浏览器打开CSDN博客排版错乱问题解决

之前发生过几次,不知道什么原因。 今天一直用着好好的,打开一个csdn连接,显示404,博文被删除了,于是就用百度快照打开试试,百度快照打开显示的排版很乱也没找到有用信息。 后面再浏览CSDN博客就排版错乱,显示一个大大二维码图片。 尝试删除IE缓存无效,使用谷歌浏览是好的。 基本锁定就是搜狗缓存导致的,于是找如何删除搜狗缓存   清除后恢复正常

240907-Gradio插入Mermaid流程图并自适应浏览器高度

A. 最终效果 B. 示例代码 import gradio as grmermaid_code = """<iframe srcdoc='<!DOCTYPE html><html><head><meta charset="utf-8" /><meta name="viewport" content="width=device-width" /><title>My static Spa

Jasperreports+jaspersoft studio 实现单个或多个jrxml(jasper)文件生成一个pdf文件,并利用Servlet发送该pdf文件到浏览器中展示

Jasperreports+jaspersoft studio 实现单个或多个jrxml(jasper)文件生成一个pdf文件,并利用Servlet发送该pdf文件到浏览器中展示; 代码如下: Demo07.jrxml <?xml version="1.0" encoding="UTF-8"?><!-- Created with Jaspersoft Studio version 6.6.

vite是如何实现依赖预构建的,浏览器为什么没有实现从node_modules查找依赖,vite开发环境解决了什么问题

浏览器的esmodule 为什么没有做从node_modules查找依赖项 浏览器是基于http请求的,node_modules中依赖项不可控,可能又会依赖很多的包,整个依赖图都需要加载的话很耗性能。 commonjs是运行在服务端的,以file形式读取文件,内部有规避机制。 依赖预构建 首先vite会找到对应的依赖,然后调用esbuild(对js语法进行处理的一个库),将其他规范的代码转换

828华为云征文 | 华为云Flexusx实例,高效部署Servas书签管理工具的优选平台

需要了解 本文章主要讲述在 华为云Flexus X 实例上使用docker快速部署Servas,一款功能强大的自托管书签管理工具,专为追求高效与个性化的用户设计。选择合适的云服务器: 本文采用的是 华为云服务器 Flexus X 实例(推荐使用)连接方式: 本文通过本地shell 方式,通过弹性IP 远程连接至服务器,进行部署搭建操作系统版本: Huawei Cloud EulerOS 2.0

浏览器工作原理(3)-TCP协议文件如何从服务器到浏览器

浏览器工作原理-TCP协议,文件如何从服务器到浏览器 本周继续学习浏览器工作原理及实践,本次内容来看一下TCP协议确保文件完整的送到至浏览器 First Page 是指页面加载到首次开始绘制的时长,而影响这个性能指标的一个重要原因是网络加载速度,网络传输协议无论使用http还是websocket,都是基于TCP/IP的,所以有必要了解一下TCP/IP,对于web的性能调优和问题定位都有很