chrome允許客戶主頁和書簽,通過ContentProvider獲取定制的信息,定制APK源碼位置:
packages/providers/PartnerBookmarksProvider
書簽
添加書簽非常簡單,只需在xml中添加網(wǎng)址即可。
PartnerBookmarksProvider/res/values/strings.xml
<string name="bookmarks_folder_name" translatable="false">Partner Bookmarks</string>
<string-array name="bookmarks" >
<item>baidu</item>
<item>https://www.baidu.com/</item>
<item>360</item>
<item>https://www.so.com/</item>
</string-array>
主頁
要自己添加一個PartnerHomepageProvider.java(見下方)放到目錄:PartnerBookmarksProvider/src/com/android/providers/partnerbookmarks/
然后在AndroidManifest.xml注冊homepage的provider即可。
<application>
<provider android:name="PartnerHomepageProvider"
android:authorities="com.android.partnerbrowsercustomizations"
android:exported="true" />
</application>
最后,定制主頁只需修改PartnerHomepageProvider.java中的HOMEPAGE_URI字段為指定主頁網(wǎng)址即可。
// 設(shè)置默認(rèn)的主頁網(wǎng)址
private static String HOMEPAGE_URI = "https://www.baidu.com";
PartnerHomepageProvider.java
package com.android.providers.partnerbookmarks;
import android.content.ContentProvider;
import android.content.ContentValues;
import android.content.UriMatcher;
import android.database.Cursor;
import android.database.MatrixCursor;
import android.net.Uri;
public class PartnerHomepageProvider extends ContentProvider {
// 設(shè)置默認(rèn)的主頁網(wǎng)址
private static String HOMEPAGE_URI = "https://www.baidu.com";
private static final int URI_MATCH_HOMEPAGE = 0;
private static final UriMatcher URI_MATCHER = new UriMatcher(UriMatcher.NO_MATCH);
static {
URI_MATCHER.addURI("com.android.partnerbrowsercustomizations", "homepage",
URI_MATCH_HOMEPAGE);
}
@Override
public boolean onCreate() {
return true;
}
@Override
public String getType(Uri uri) {
switch (URI_MATCHER.match(uri)) {
case URI_MATCH_HOMEPAGE:
return "vnd.android.cursor.item/partnerhomepage";
default:
return null;
}
}
@Override
public Cursor query(Uri uri, String[] projection, String selection, String[] selectionArgs,
String sortOrder) {
switch (URI_MATCHER.match(uri)) {
case URI_MATCH_HOMEPAGE:
MatrixCursor cursor = new MatrixCursor(new String[] { "homepage" }, 1);
cursor.addRow(new Object[] { HOMEPAGE_URI });
return cursor;
default:
return null;
}
}
@Override
public Uri insert(Uri uri, ContentValues values) {
throw new UnsupportedOperationException();
}
@Override
public int delete(Uri uri, String selection, String[] selectionArgs) {
throw new UnsupportedOperationException();
}
@Override
public int update(Uri uri, ContentValues values, String selection, String[] selectionArgs) {
throw new UnsupportedOperationException();
}
}