在第三方分享时,可能遇到一种场景是。在点击某个分享时需要判断是否已经安装该程序。然后中断或者给出提示

/**     * 检测是否安装微信     *     * @param context     * @return     */    public static boolean isWxInstall(Context context) {        final PackageManager packageManager = context.getPackageManager();// 获取packagemanager        List pinfo = packageManager.getInstalledPackages(0);// 获取所有已安装程序的包信息        if (pinfo != null) {            for (int i = 0; i < pinfo.size(); i++) {                String pn = pinfo.get(i).packageName;                if (pn.equals("com.tencent.mm")) {                    return true;                }            }        }        return false;    }

其他应用程序的包名(替换包名即可)

微博  com.sina.weiboQQ   com.tencent.mobileqq

看到这里基本的需求就已经满足了,但如果中途卸载或者安装如何监听呢

/**     * screen状态广播接收者     */    private class ScreenBroadcastReceiver extends BroadcastReceiver {        private String action = null;        @Override        public void onReceive(Context context, Intent intent) {            //接收安装广播            if (intent.getAction().equals("android.intent.action.PACKAGE_ADDED")) {                String packageName = intent.getDataString();                ALog.e(TAG, "安装了:" + packageName + "包名的程序");            }            //接收卸载广播            if (intent.getAction().equals("android.intent.action.PACKAGE_REMOVED")) {                String packageName = intent.getDataString();                ALog.e(TAG, "卸载了:" + packageName + "包名的程序");             }        }    }    /**     * 启动screen状态广播接收器     */    private void registerListener() {        IntentFilter filter = new IntentFilter();        filter.addAction("android.intent.action.PACKAGE_ADDED");        filter.addAction("android.intent.action.PACKAGE_REMOVED");        filter.addDataScheme("package");        mContext.registerReceiver(mScreenReceiver, filter);    }

end……….

更多相关文章

  1. android studio运行Kotilin程序出现Error:(5, 8) Unresolved ref
  2. android sqlite相关
  3. [Android] 在程序中实现延时的常用的两种方式
  4. android 在一个应用中启动另一个应用
  5. Android网络状态实时监听器
  6. Android(安卓)NetworkManager
  7. Android(安卓)自定义Toast显示(不限时+在其他应用之上显示)
  8. WebView设置之WebViewClient
  9. Android(安卓)Jetpack之生命周期的处理

随机推荐

  1. 基本的UI组件(TextView、EditText、Butto
  2. 【Android 界面效果39】android:inputTyp
  3. android 多击事件的实现方法
  4. android 读取串口数据的服务,android串口
  5. 关于android旋屏问题
  6. 【Android 系统开发】 Android 系统启动
  7. Fragment详解
  8. [转]Android 图形系统剖析
  9. Android多语言适配values文件夹命名
  10. 使用NetBeans+Android SDK+NBAndroid插件