判断某一款应用(通过包名)是否安装,如果安装直接打开,否则弹出下载对话框(V1.0)
2015-02-28 15:30
543 查看
MainActivity.java中 downloadApp() 方法用于调用
Util.java 中 openUrl()方法调用系统浏览器,这是如果没有安装调用浏览器跳转到下载页面
参考博客:http://blog.csdn.net/liguangzhenghi/article/details/8185751
public void downloadApp(){ String packageName = "org.bojoy.publish";/** Tesr 测试包名*/ final String downloadURL = "http://www.haowanyou.com/";/** Test 测试跳转下载的页面*/ Intent intent = null; PackageManager packageManager = context.getPackageManager(); if (AppIsInstall.appIsInstall(context, packageName)){ intent = packageManager.getLaunchIntentForPackage(packageName); activity.startActivity(intent); }else { final BJMSdkDialog dialog = new BJMSdkDialog(context);// 这是自定义的dialog 测试请用系统的 dialog.setTitle(Util.getString(Resource.string.bjmgf_sdk_dock_dialog_to_download_app_title, context)); dialog.setMessage(Util.getString(Resource.string.bjmgf_sdk_dock_dialog_to_download_app_str, context)); dialog.setNegativeButton(Util.getString(Resource.string.bjmgf_sdk_dock_dialog_sure_download_btn_str, context), new OnClickListener() { @Override public void onClick(View v) { dialog.dismiss(); Util.openUrl(activity, downloadURL); } }); dialog.setPositiveButton(Util.getString(Resource.string.bjmgf_sdk_dock_dialog_btn_cancel_str, context), new OnClickListener() { @Override public void onClick(View v) { dialog.dismiss(); } }); dialog.show(); } }
Util.java 中 openUrl()方法调用系统浏览器,这是如果没有安装调用浏览器跳转到下载页面
/** * 调用浏览器打开网页 * @param activity * @param url */ public final static void openUrl(Activity activity, String url) { if (stringIsEmpty(url)) { return; } LogProxy.i(TAG, url); Intent intent = new Intent(); intent.setAction(Intent.ACTION_VIEW); Uri content_url = Uri.parse(url); intent.setData(content_url); activity.startActivity(Intent.createChooser(intent, "打开页面")); // activity.startActivity(intent); }再开一个工具类Utils.java 里面的判断方法
package org.bojoy.gamefriendsdk.app.utils; import java.util.List; import org.bojoy.core.utils.LogProxy; import android.content.pm.PackageInfo; import android.content.pm.PackageManager; import android.content.Context; /** * @author luzhenyu * AppIsInstall 判断某款应用是否安装的工具 * @param context - Context * @param packageName - String * @return true/false * */ public class AppIsInstall { private String packageName = null; private static boolean flag = false; public static boolean appIsInstall(Context context, String packageName) { final PackageManager packageManager = context.getPackageManager();// 获取packagemanager List<PackageInfo> packageInfoList = packageManager .getInstalledPackages(0); if (packageName == null || "".equals(packageName)) { return false; } for (int i = 0; i < packageInfoList.size(); i++) { PackageInfo pak = (PackageInfo) packageInfoList.get(i); if (packageName.trim().equals(pak.packageName.trim())) { flag = true; break; } else { flag = false; } } return flag; } }OK!!!
参考博客:http://blog.csdn.net/liguangzhenghi/article/details/8185751
相关文章推荐
- js判断移动端是否安装某软软件,安装直接打开相应的链接,否则跳转到下载商店方法
- HTML5打开本地app应用的方法,如果你的手机上安装App,就会自动打app,否则在页面上会提示你进行下载app
- ViewPager 首次安装软件加载图片介绍并判断是否第一次,如果第一次展示图片,否则直接进入软件
- js判断手机是否安装了某个APP,如果安装了就打开,没安装就下载
- 【JS】点击页面判断是否安装app并打开,否则跳转下载的方法
- js判断手机是否安装了某个APP,如果安装了就打开,没安装就下载
- 从键盘上接收一个字母,判断是否是大写字母,如果是则转换成小写字母输出 ,否则直接输出。
- 在mobile safari中巧妙实现检测应用安装就打开,否则进App Store下载
- 将本地html文件拖到IE8浏览器无法打开,直接弹出一个下载的对话框
- 安卓判断是否安装应用,没安装从应用商店下载安装
- 在UC浏览器打开链接唤醒app,如果没有安装该app,则跳转到appstore下载该应用
- 点击下载文件时弹出对话框;而不是直接打开代码
- 给你的移动网站加点料:推荐下载App,如果本地安装则直接打开本地App(Android/IOS)
- 给你的移动网站加点料:推荐下载App,如果本地安装则直接打开本地App(Android/IOS)
- 点击页面判断是否安装app并打开,否则跳转app store的方法
- 对安卓在浏览器中判断是否有本地应用安装,并打开本地应用的总结
- 关于创建Excel表格问题(保存至指定文件/弹出直接打开还是下载,并可以选择保存路径的对话框)
- 给你的移动网站加点料:推荐下载App,如果本地安装则直接打开本地App(Android/IOS)
- 越狱iPhone通过网站实现一键安装ipa格式应用的方法、越狱iPhone实现扫二维码直接下载安装ipa文件的方法
- 在webapp中判断native app是否安装并直接打开