2016-05-19 27 views
0

我的應用截取了我的整個網站域名。但是,我偶爾無法在應用中支持特定頁面。發生這種情況時,我想將用戶重定向回瀏覽器。不幸的是,如果用戶選擇「總是」打開我的應用程序與此域(而不是選擇「只有一次」),我卡在一個重定向循環。當我的應用程序打開並且用戶選擇在我的應用程序中「始終」打開域時,如何繞過Android意圖過濾器?

+0

AndreKR已經回答了類似的問題:[http://stackoverflow.com/questions/29529027/open-url-in-browser-even-though-my-app-registered-an-intent-filter-for-it] (http://stackoverflow.com/questions/29529027/open-url-in-browser-even-though-my-app-registered-an-intent-filter-for-it) – wolfprogrammer

回答

0
  1. 與您的網址創建一個新的意圖
  2. 與一般的HTTP創建第二個臨時意圖:// URL
  3. 獲取臨時意圖
  4. 原意設置爲默認的默認分辨率
  5. 分辨率
  6. 啓動原意

    Intent intent = null; 
        try { 
         // #1 
         intent = new Intent(Intent.ActionView); 
         intent.SetData(Android.Net.Uri.Parse(url)); 
         // #2 
         Intent tempIntent = new Intent(Intent.ActionView, Android.Net.Uri.Parse("http://")); 
         // #3 
         var resolution = activity.PackageManager.ResolveActivity(tempIntent, Android.Content.PM.PackageInfoFlags.MatchDefaultOnly); 
         // #4 
         intent.SetComponent(new ComponentName(
          resolution.ActivityInfo.ApplicationInfo.PackageName, 
          resolution.ActivityInfo.Name)); 
         // #5 
         StartActivity(intent); 
        } 
        catch { 
        } 
    
相關問題