如何从我的应用程序中选择浏览器?

时间:2012-06-15 13:31:04

标签: android browser android-intent google-play

我有一个应用程序,其中我有一个URL,我不想在WebView中加载它,而是我使用

Intent i = new Intent(Intent.ACTION_VIEW, 
Uri.parse("http://VenomVendor.blogspot.com/search/label/Android"));
startActivity(i);

我希望用户仅在特定浏览器中查看此网站,假设我只想在Firefox中打开此网址。如果用户尚未安装,我必须告诉他下载Firefox&下载后我必须加载此URL。

注意:除非用户退出,否则我的应用不应退出。

1 个答案:

答案 0 :(得分:1)

1-检查包是否存在

public booleand isPackageExists(String targetPackage){
        List<ApplicationInfo> packages;
        PackageManager pm;
            pm = getPackageManager();        
            packages = pm.getInstalledApplications(0);
            for (ApplicationInfo packageInfo : packages) {
        if(packageInfo.packageName.equals(targetPackage)) return true;
        }        
        return false;
    }

2-使用action或ComponentName(包名和类名)到特定浏览器

 like for default ComponentName arg will be  "com.android.browser", "com.android.browser.BrowserActivity"

 public void onClick(View v) {
             Intent myWebLink = new Intent(android.content.Intent.ACTION_VIEW);
             myWebLink.setComponent(new ComponentName("pkg","cls"));
             myWebLink.setData(Uri.parse("http://google.com"));
             startActivity(myWebLink);
       }