facebook廣告





123

2016年9月19日 星期一

Android系統下打開指定的瀏覽器

     工作中遇到一個問題,就是在Android系統上希望將url通過指定的瀏覽器打開。一般情況下如果系統有幾個瀏覽器並存,那麼系統會提示用戶選擇哪個瀏覽器打開URL,這種情況下用戶可能就直接放棄打開了,十分影響URL的點擊率。
傳統方式打開瀏覽器瀏覽指定網頁:
     URI的uri = Uri.parse(clickUrl.trim());
     意圖Urlintent = 意圖(Intent.ACTION_VIEW,URI);
     Urlintent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
     context.startActivity(Urlintent); //打開鏈接
指定瀏覽器打開網頁,首先調用queryIntentActivities查詢支持ACTION_VIEW的Resolveinfo。
URI的uri = Uri.parse(clickUrl.trim());
意圖urlintent = 意圖(Intent.ACTION_VIEW,URI);
軟件包管理系統下午= context.getPackageManager(); //獲取軟件包管理系統
名單<ResolveInfo> queryactivities = pm.queryIntentActivities(urlintent,   
                            PackageManager.GET_INTENT_FILTERS);
如果查詢到的值大於0,那麼表示找到了支持打開鏈接的activity,然後可以確定支持打開鏈接的應用的activity,然後找activity所屬的包名和activity的名字,然後調用urlintent的setClassName設置packagename和activityname。其中BROWERINDEX為系統中保存的瀏覽器的序號,此處可以指定queryactivities.size()範圍之內的值。
     如果(queryactivities.size()> 0){  
         urlintent.setClassName(queryactivities.get(BROWERINDEX).activityInfo.packageName,
                   queryactivities.get(BROWERINDEX).activityInfo.name);
         urlintent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
         context.startActivity(urlintent); //打開鏈接 
     }
最後調用startActivity使用指定的瀏覽器打開URL。

沒有留言:

張貼留言