2012-03-01 93 views
3

在我的應用程序中,是否有可能以編程方式更改Android瀏覽器的主頁網址?如果是這樣,我該如何做到這一點?如何在應用程序中更改默認Android瀏覽器的主頁?

例如,如果你的Android 2.3(所有我測試過)運行這個程序流行,它會在您的主頁更改爲http://www.searchmobileonline.com - https://market.android.com/details?id=goldenshorestechnologies.brightestflashlight.free

謝謝!

+0

u能找到解決辦法嗎? – 2013-08-26 08:42:43

+0

@Robert Bana你找到任何解決方案,然後請發佈您的答案http://stackoverflow.com/questions/18356188/change-browser-home-page-in-android?noredirect=1#comment27093739_18356188。這將是有益的 – surhidamatya 2013-08-26 08:51:59

回答

1

這不能從您的應用程序內以編程方式完成。

編輯:我下載了你提供的應用程序,它看起來完成了你要找的東西。究竟是如何完成的,我不知道。我無法在網上找到有關如何執行此操作的任何信息。我很感興趣,看看有沒有人對他們如何完成這一任何想法。

+7

這很漂亮。否則這將是惡意軟件噩夢 – ogggre 2012-03-01 21:43:11

+0

同意。這是最好的IMO。 – bschultz 2012-03-01 21:43:38

+1

你確定這不可能嗎?我的Android瀏覽器主頁已被應用程序所改變。我絕對沒有改變它自己。 – 2012-03-01 21:45:40

1

我哈瓦一個觀點: 也許你可以讀取瀏覽器的源代碼,並發現這樣的代碼:

SharedPreferences prefs = mContext.getSharedPreferences(RECOVERY_PREFERENCES, Context.MODE_PRIVATE); 

,並獲得瀏覽器的SharedPreferences,然後找到要設置主頁的地方,改變它。 這可能嗎?

+0

你能解決這個問題嗎? – 2013-08-26 08:29:50

5

我沒有這個嘗試自己,但BrowserSettings有一個公共接口設爲首頁:

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

它在BrowserBookmarksPage像這樣使用:

BrowserSettings.getInstance().setHomePage(this, [URL]); 

但是BrowserSettings類是隻訪問包。所以也許訪問共享偏好更容易...?

更多...

這裏不是真的要上課。這可能是可能的,也許有一些本地代碼訪問的XML文件與瀏覽器的偏好或其他類似的方式,但...

  • 無論你做什麼,這將是「圍繞「安全在 的地方。您的應用程序不應該能夠更改 瀏覽器的主頁(或者它將在文檔中)
  • 即使可以找到一種方法(通過NDK或查找未記錄的接口),它也可以可能會停止工作在某些新的Android版本,這可能不是你想要的。
  • 我知道一些應用程序已經做到了,恕我直言,這是不好的。這並不意味着你的應用程序應該做同樣的事情,並讓更多的潛在用戶感到沮喪。
+2

+1表示你不應該這樣做 – Blundell 2012-10-03 07:23:06

+1

BrowserSettings類找不到 – 2013-08-26 08:43:15

+0

@FarhanMunir,這就是它在這個答案中已經說過的,它只能從框架中的android包中訪問。 – Matthieu 2013-09-02 23:52:30

1

我猜應用程序開發人員沒有寫在他的代碼來做到這一點。我認爲他在他的應用程序中的11個廣告中的一個導致了它。

adserver.adview 
adwhirl 
amobee.onlinehapi 
apperhand 
google 
inmobi.androidsdk 
jumptap.adtag 
mdotm.android.ads 
millenialmedia.android 
mobclix.android.sdk 
zestadz.android 

作爲一個方面說明,這是荒謬的。

+1

另外它不工作在4.x – mpeerman 2012-03-13 06:54:34

3

沒有辦法改變瀏覽器的主頁網址。

com.android.browser打開/創建首選項MODE_PRIVATE。因此,這些文件的屬性變爲-rw-rw---- 而且瀏覽器應用程序的menifest沒有sharedUserId屬性。

<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.android.browser"> 

該應用沒有提供分享應用偏好文件的機會。

+0

你可以找到另一種方法做到這一點 – 2013-08-26 08:44:29

+0

@FarhanMunir不! ^^ – cybaek 2014-05-19 13:45:09

0

我創作了一個名爲My Home Page(https://play.google.com/store/apps/details?id=com.aac.myhomepage)的應用程序,我需要完成這個確切的任務。我到處尋找可能,無法找到這樣做的方法,所以我最終使用了兩種解決方法,在我看來,這兩種解決方法確實不是很好的選擇。

1)我爲那些擁有紮根設備的用戶提供了一個根選項,我只需訪問瀏覽器的SharedPreferences XML文件,並使用正則表達式將主頁的值替換爲所需的值。

2)將URL複製到剪貼板並告訴用戶如何完成更改默認主頁。

請注意,未經用戶許可,我沒有使用超級用戶訪問權限,也沒有在未經用戶許可的情況下更改主頁。這是應用程序的目的,如果用戶不明確這樣做,主頁不會更改。

我最近注意到,廣告SDK也這樣做,但直覺告訴我,他們不這樣做以適當的方式和我沒有任何興趣我

相關問題