判断安装如何判断应用已经安装,如何判断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就是这样把广大劳动人民吸引过来的。今天的结果你们都看到了。)

posted @ 2013-05-14 21:48  xinyuyuanm  阅读(386)  评论(0编辑  收藏  举报