8

startapp のようないくつかのアプリや広告ネットワークが、コードによって Android Web ブラウザーのホームページを変更するのを見てきました。これはどのように可能ですか?

startapp sdk を見てみましたが、ホームページを変更する部分を見つけることができませんでした。

中も見てきBrowserSettingsました com.android.browser.BrowserSettings

にはBrowserSettings、 というインターフェイスがありますsetHomepage(Context, String)

public void setHomePage(Context context, String url) {
    Editor ed = PreferenceManager.
            getDefaultSharedPreferences(context).edit();
    ed.putString(PREF_HOMEPAGE, url);
    ed.commit();
    homeUrl = url;
}

私はJava / Androidについてあまり知らないので、間違っている場合は修正してください。setHomepage()静的と宣言されていないため、他のアクティビティから呼び出すことはできません。だから私はこれを使用することはできません。

共有設定に適用されたモードが表示されないため、デフォルトではモードと同様にプライベートになり、共有設定を編集できませんか?

一部の人々は、contentProvider/Resolver を使用することは可能かもしれないと言っています。

BrowserSettings.javaへのリンク

どんな助けや考えもいただければ幸いです:)

4

3 に答える 3

3

私はこれについてDianeHackBorn(GoogleのAndroidエンジニア)と一緒にいます:これはプラットフォームのセキュリティ上の欠陥であるため、不可能なはずです。

可能であれば、なんらかのハッキング(つまり、ブラウザアプリの設定ファイルに直接書き込むことができるrootアクセス権を持つアプリ)を使用することになるでしょう。

于 2012-09-12T16:52:55.160 に答える
1

startappについておっしゃっていたようです。逆コンパイルされたSDKを調べましたが、「ホームページの変更部分」については何も見つかりません。

また、私は彼らがこれを行うことを知っていますが、SDKでそれを見つけることができません。たぶん、アンドロイドをよりよく理解している人がそれを見ることができます。私はrootアクセスのない2.2のAndroid携帯を持っていて、彼らはなんとかホームページを変更することができました。

于 2012-09-12T17:08:16.367 に答える
0

root 権限があれば、/data/app/com.android.browser/shared_prefs にアクセスできます。

共有設定用の XML ファイルがあります。

PREF_HOMEPAGExml エントリを編集するだけです。

そのディレクトリにアクセスするにはルート権限が必要になるため、ルートなしでは不可能です。

于 2012-09-19T11:54:13.050 に答える