2013-11-04 92 views
1

最近,我安裝了一個android應用程序,我發現當我在手機瀏覽器中瀏覽特定的Url(應用程序現在應該在後臺運行)時,應用程序將自動啓動。我想知道如何實現這一目標?我試圖用如何使用網址來另一個Android應用程序?

"intent-filter <data schema:"http" android:host="*****" /> 

,但它並沒有這個程序是如何執行,youtube link工作相同的應用程序(自動啓動)。我視頻上傳至YouTube。 你可以在這裏下載的應用程序:baidu_map_download

特定的URL:http://map.baidu.com/mobile/zt/locshare

+0

我已經編輯了我的答案了,編輯2應該包含你在找什麼。如果我幫助你,請考慮投票並接受我的答案。 –

+0

你實際上並沒有看到我上面寫的是什麼:「intent-filter 如果我添加這樣的代碼,app會啓動,但不會自動(系統允許用戶選擇啓動哪個應用程序,因爲url可以被許多瀏覽器監控)但是感謝你的努力 – user2379891

+0

它永遠不會自動啓動,默認應用程序無法設置,最重要的是不應該由應用程序設置。 –

回答

0

您作爲開發者只對一個消極影響。基本上在你的清單中,你可以爲你的活動設置一個IntentFilter。例如你的主Activity應該有Intents android.intent.action.MAIN和android.intent.category.LAUNCHER。

例如:

<activity 
     android:name=".ui.activities.MainActivity" 
     android:label="@string/app_name"> 
    // Here the Intent Filter is set 
    <intent-filter> 
     <action android:name="android.intent.action.MAIN"/> 
     <category android:name="android.intent.category.LAUNCHER"/> 
    </intent-filter> 
</activity> 

如果你想通過一個特定的意圖啓動您的應用程序 - 您可以查找任何可用的意圖here - 比你有這個意向添加到的IntentFilter。那麼智能手機的用戶可以從所有有此意圖在他們的IntentFilter

編輯1的應用程序選擇一個Intent的默認應用程序:

您可以顯示一個選擇對話框爲特定的意圖,這能讓用戶選擇的默認應用此意圖是這樣的:

Intent intent = new Intent(Intent.ACTION_VIEW); 
String title = getString(R.string.chooser_title); 
Intent chooserIntent = Intent.createChooser(intent, title); 
startActivity(chooserIntent); 

編輯2:

這涵的IntentFilter dles到google.com

<intent-filter> 
    <data android:scheme="http" android:host="google.com"/> 
    <action android:name="android.intent.action.VIEW" /> 
</intent-filter> 

所有的鏈接將它添加到您的應用程序標籤在您的清單,當你瀏覽網址落在該類別中您的應用程序將啓動。

+0

我已經知道你在最後幾句話中說了什麼,所以我強調「自動啓動」,不讓用戶選擇默認應用程序的意圖從所有在Intent-Filter中擁有此Intent的應用程序。 – user2379891

+0

我不認爲你可以自動做到這一點。無論如何,你都不應該這樣做。但是您可以創建一個選擇器對話框,讓用戶隨時選擇默認的應用程序。 –

+0

首先,應用程序實際上自動啓動(可能會使用第三方api)。其次,我的意思是「我在手機瀏覽器中瀏覽特定的Url,應用程序會自動啓動」,所以我認爲應該添加一些代碼來監視我的行爲:打開特定的URL但不添加意圖。 – user2379891

相關問題