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

  • 相关阅读:
    学就要学好 就要学明白
    URL的基础
    各种waf识别
    Linux命令行上的上传和下载文件命令
    Linux服务器安全加固(三)
    Linux服务器安全加固(二)
    Linux服务器安全加固(一)
    Centos7配置SNMP服务
    Windows Server 系统通用安全基线配置详细
    Windows Server 2016 部署AD域控制器及添加AD域控制器
  • 原文地址:https://www.cnblogs.com/xinyuyuanm/p/3078746.html
Copyright © 2011-2022 走看看