안드로이드 개발 수정 Chrome 책갈피

5178 단어 Android
안드로이드 시스템에는 크롬 apk가 미리 설치되어 있는데 크롬 apk일 뿐이고 원본 코드가 없다. 그렇다면sim카드에 따라 책갈피를 맞춤형으로 만들 수 있기를 원하는 고객은 어떻게 실현해야 하는가?크롬은 책마크를 수정하고 싶은 업체에 PartnerBookmarksProvider apk를 제공하고, 사용자는 PartnerBookmarksProvider를 수정하여 책갈피를 추가할 수 있습니다.
원리: 크롬의 책갈피는 책갈피에서 나온다.db,db의 데이터베이스는 PartnerBookmarksProvider의 xml 파일에서 나온 문자열로 이 원리에 따라 위의 객제화를 실현할 수 있다. 우선 PartnerBookmarksProvider\res\values\strings를 찾아라.xml
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
    <string name="bookmarks_folder_name" translatable="false">Partner Bookmarksstring>
    <string-array name="bookmarks">
    string-array>

    <string-array name="bookmarks2">
        <item>   1item>
        <item>http://www.sina.com.cnitem>

        <item>   2item>
        <item>http://baidu.comitem>
    string-array>
resources>

그 중
    <string-array name="bookmarks">
    string-array>

수조는 일련의 책갈피를 대표하는데, 위에 있는 것은 책갈피가 없다는 것을 의미하고,bookmarks2는 2개의 책갈피가 있다는 것을 의미한다.이bookmarks는 바로 데이터베이스의 읽기 내용입니다. 다음은sim카드에 따라 데이터베이스에서 서로 다른 책갈피를 읽습니다.
public void ChangeBookmarkBySimcard(){
        int mcc = getContext().getResources().getConfiguration().mcc;
        int mnc = getContext().getResources().getConfiguration().mnc;
        Log.v(TAG,"mcc"+mcc);
        Log.v(TAG,"mnc"+mnc);
        if (228 == mcc && 01 == mnc) {
            bookmarks_new = getContext().getResources().getTextArray(R.array.bookmarks2);
        } else {
            bookmarks_new = getContext().getResources().getTextArray(R.array.bookmarks);
        }
        for (int i = 0; i < bookmarks_new.length; i++) {
            Log.v(TAG, "query bookmarks new:" + bookmarks_new[i]);
        }

        final SQLiteDatabase db = mOpenHelper.getWritableDatabase();
        mOpenHelper.dropTable(db);
        mOpenHelper.createTable(db);
        mOpenHelper.createDefaultBookmarks(db);
    }

물론 책갈피를 바꿔도 소용이 없기 때문에 데이터베이스를 삭제하고 데이터베이스와 데이터를 다시 만들어야 한다.그 다음에 적당한 시기에 이 방법을 호출하는 것이 남았습니다. 저는query 데이터베이스 앞에서 호출했습니다.
소스 코드:http://download.csdn.net/download/u011109881/10150380

좋은 웹페이지 즐겨찾기