2012-09-25 58 views
1

在我的Android應用程序中,我支持在我的應用程序或外部瀏覽器中打開網站。當用戶試圖打開某些URL,他看到一個對話框,在其中他可以選擇最好的應用程序,以查看該網址所以現在Intent.category.BROWSABLE:設置外部應用程序的可見性

<activity 
     android:name=".MyActivity" 
     android:screenOrientation="portrait" > 
     <intent-filter> 
      <action android:name="android.intent.action.VIEW" /> 

      <category android:name="android.intent.category.DEFAULT" /> 
      <category android:name="android.intent.category.BROWSABLE" /> 

      <data android:scheme="http" /> 
      <data android:scheme="https" /> 
     </intent-filter> 
</activity> 

: 所以我下面的代碼添加到Android清單。但是我希望我的應用程序只出現在這個對話框中,用於從我的應用程序中打開的URL。當用戶試圖在Facebook應用程序中打開某個外部鏈接時,我不希望它出現。有沒有辦法做到這一點?

請注意,我的應用程序支持打開不同的鏈接,我無法爲它們設置任何特定的模式。

回答

1

但我希望我的應用程序出現在此對話框中,僅適用於從我的應用程序內部打開的URL。

這是不可能的,對不起。

可能能夠僞造這種行爲通過授權,並通過PackageManagersetComponentEnabledSetting()禁用此組件,例如,當它很可能是這樣的URL會碰到它時纔會啓用。但是,這可能難以100%可靠。

+0

感謝您的解釋。是否可以調整顯示的對話框,至少要更改其標題文本? –

+1

@YuriyPogrebnyak:只有你是編寫Web瀏覽器的人。 – CommonsWare

相關問題