adb打开网页_android 使用指定浏览器打开网页
梳理下流程:
枚舉對應瀏覽器包名到數組中
數組循環根據包名找到對應的LaunchIntent
通過LaunchIntent找到對應的LaunchActivity的包名
Intent通過設置activity的包名+類名
/**
* 工具類
*/
public class CheckApkExist {
private static String ucPkgName = "com.uc.browser";
public static boolean checkApkExist(Context context, String packageName){
if (TextUtils.isEmpty(packageName))
return false;
try {
ApplicationInfo info = context.getPackageManager()
.getApplicationInfo(packageName,
PackageManager.GET_UNINSTALLED_PACKAGES);
return true;
} catch (PackageManager.NameNotFoundException e) {
return false;
}
}
/** 示例:uc 瀏覽器檢測*/
public static boolean checkUCBrowserExist(Context context){
return checkApkExist(context, ucPkgName);
}
/**
* 從手機上搜索已安裝瀏覽器程序打開網頁,默認使用系統瀏覽器。
* 將 context 替換為當前上下文環境,ActivityClass or Context
*/
public void openBrowser(String url) {
String[] browser = {"com.tencent.mtt", "com.UCMobile", "com.uc.browser", "com.oupeng.browser", "com.oupeng.mini.android", "com.android.browser"};
Intent intent = null;
for (String br : browser) {
if (CheckApkExist.checkApkExist(context, br)) {
String clsName = null;
try {
PackageManager pm = context.getApplicationContext().getPackageManager();
Intent intent1 = pm.getLaunchIntentForPackage(br);
ComponentName act = intent1.resolveActivity(pm);
clsName = act.getClassName();
} catch (Exception e) {
}
if (clsName == null) {
break;
}
intent = new Intent();
intent.setAction("android.intent.action.VIEW");
Uri content_url = Uri.parse(url);
intent.setData(content_url);
intent.setClassName(br, clsName);
break;
}
}
if (intent == null) {
intent = new Intent();
intent.setAction("android.intent.action.VIEW");
Uri content_url = Uri.parse(url);
intent.setData(content_url);
}
context.startActivity(intent);
}
總結
以上是生活随笔為你收集整理的adb打开网页_android 使用指定浏览器打开网页的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2021面试题——CSS面试题总结
- 下一篇: JAVA WBE入门之HTML的使用(超