赞
踩
废话不多说先上代码!
/** * 打开网页 */ public void OpenWebpage(){ Uri uri = Uri.parse("https://www.baidu.com/"); final Intent intent = new Intent(); intent.setAction(Intent.ACTION_VIEW); intent.setData(uri); //是否安装浏览器 if (intent.resolveActivity(this.getPackageManager()) != null) { ComponentName componentName = intent.resolveActivity(this.getPackageManager()); Log.e(TAG, "onConfigurationChanged: "+componentName ); Log.e(TAG, "onConfigurationChanged: "+componentName.getClassName() ); Log.e(TAG, "onConfigurationChanged: "+componentName.getPackageName() ); //下载管理器 // intent.setClassName("com.android.providers.downloads.ui","com.android.providers.downloads.ui.activity.BrowserDownloadActivity"); //设置浏览器 //intent.setClassName(componentName.getPackageName() ,componentName.getClassName()); //android 自带的浏览器 //intent.setClassName("com.android.browser","com.android.browser.BrowserActivity"); //选择浏览器 //startActivity(Intent.createChooser(intent,"请选择浏览器")); //默认浏览器 startActivity(intent); } else { Toast.makeText(this.getApplicationContext(), "请下载浏览器", Toast.LENGTH_SHORT).show(); } }
总结:
1.下载管理器
com.android.providers.downloads.ui
如果是 “http://xxx/xx/xx.apk” 这样的格式的话,在Android 12.5 小米手机会报一个“该路径不可用” ,也不知道为什么,那怕我使用的是默认浏览器也会调用到下载管理器去。
希望有大神帮忙解答下!
2.使用手机设置的默认浏览器打开网页
intent.setClassName(componentName.getPackageName() ,componentName.getClassName());
startActivity(intent);
可以打开手机设置的默认浏览器,但是在Android12.5如果是打开下载连接的话会跳转的到下载管理器去,而不是打开一个网页。
3.手机默认浏览器
intent.setClassName(“com.android.browser”,“com.android.browser.BrowserActivity”);
startActivity(intent);
这个是指手机默认的浏览器,不管再怎么设置手机默认浏览器都没有用的
4.手动选择浏览器
startActivity(Intent.createChooser(intent,“请选择浏览器”));
startActivity(intent);
最后:手机只有google浏览器没有其他浏览器的情况下,使用下载连接打开网页google浏览器是不会下载的!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。