之前直接在activity中打开,然后就直接跳转到浏览器中,代码是这样的:
Intent intent = new Intent();
intent.setAction("android.intent.action.VIEW");
Uri content_url = Uri.parse("http://baidu.com");//实例将要打开的uri
intent.setData(content_url);
startActivity(intent); //打开浏览器网页
后来APP的编译版本变成的26 ,并且请求打开浏览器的位置并不在activity中,发现上面的方法不能直接跳转到浏览器中,网上查询后找到这种更友好的方式:
Intent intent = new Intent();
intent.setAction("android.intent.action.VIEW");
Uri apk_uri = Uri.parse(app.getVersionUrl());
intent.setData(apk_uri);
//判断是否有显示该Intent的应用,intent.resolveActivity()获取处理该intent的组件
if (intent.resolveActivity(context.getPackageManager()) != null){
final ComponentName componentName =intent.resolveActivity(context.getPackageManager());
//此处的context是调用方法时传来的
context.startActivity(Intent.createChooser(intent,"请选择浏览器"));
}else {
Toast.makeText(context.getApplicationContext(), "请下载浏览器", Toast.LENGTH_SHORT).show();
}
原文链接:https://blog.csdn.net/csdnzouqi/article/details/73554770
原文链接:https://blog.csdn.net/yingtian648/article/details/79128663