判断安装如何判断应用已经安装,如何判断Service,BroastCastReceiver,ContentProvider是否存在
题记:写这篇博客要主是加深自己对判断安装的认识和总结实现算法时的一些验经和训教,如果有错误请指出,万分感谢。
//判断BroadCastReceiver是不是存在 PackageManager manager = getPackageManager(); //要查找的BroadCastReceiver Intent intent = new Intent("com.xiaoqiu.Action.XXXXX"); List<ResolveInfo> resolveInfos = manager.queryBroadcastReceivers(intent, PackageManager.GET_INTENT_FILTERS); if (resolveInfos.size() == 0) { Log.d("debug", "该BroadCast不存在"); } //判断包含某个Action的Activity的应用已安装 Intent i = new Intent("com.xiaoqiu.phone.action.WAKAKA"); List<ResolveInfo> resolveInfos1 = manager.queryIntentActivities(intent, PackageManager.GET_INTENT_FILTERS); if (resolveInfos.size() == 0) { Log.d("debug", "该应用没有安装"); } //判断AIDL Service是不是存在 if (!bindService(new Intent("com.xiaoqiu.service"), serviceConnection, Context.BIND_AUTO_CREATE)) { Log.d("debug", "不存在"); } //判断指定的ContentProvider是不是存在 Uri uri = Uri.parse("content://mobile.android.regincontentprovider/cities"); Cursor cursor = getContentResolver().query(uri, new String[]{"city_code as _id", "city_name"}, null, null, null); if (cursor == null) { Log.d("debug", "不存在"); }
文章结束给大家分享下程序员的一些笑话语录: 苹果与谷歌之争就是封闭收费与自由免费思想之争。(别急着把google来膜拜哦?那可是一家公司,以赚钱为目标的公司!当年我Party就是这样把广大劳动人民吸引过来的。今天的结果你们都看到了。)