zoukankan      html  css  js  c++  java
  • Android_下载应用程序源代码(找到系统怎样在"系统设置"中识别哪些应用程序是用户下载(非系统)的应用程序的源代码)

    找到系统怎样在"系统设置"中识别哪些应用程序是用户下载(非系统)的应用程序的源代码

    1.打开网址:https://github.com/android

    2.在Repositories下输入要搜索的内容,eg:setting,然后下面会直接显示setting源代码对应的地址

    3.打开上一步中的地址,复制后 在本地的任意文件夹中 右键git 后把刚才的地址复制到clone里面,克隆完毕后就可以解压,然后导入到eclipse中

    4.在导入的工程中搜索要查找的关键字,首先搜索里面的文本,(这里搜索的是"已下载")

      eg:随便打开一个条目(这里选择打开ApplicationSettings),点击工具栏的search,选择File Search>Containing text(查找的内容)输入"已下载">File name patterns选择java和xml>点击ok开始搜寻

    5.打开搜索到的包含指定文本的页面,然后再搜索相应的代码(这里搜索的是"filter_apps_third_party")

       eg:<string name="filter_apps_third_party" msgid="7786348047690140979">"已下载"</string>,接下来按照上一步的方法搜索"filter_apps_third_party"

      注:这一步搜索完毕后,需要自己在搜索的结果中依次打开src中对应的搜索到的内容

    6.在找到的java页面中找到 private int mFilterApps = FILTER_APPS_THIRD_PARTY;

    7.接下来找mFilterApps (即:"FILTER_APPS_THIRD_PARTY"对应的引用)

      注:这次查找在本页面用ctrl+F查找即可

              第一步找到:  mFilterApps = FILTER_APPS_ALL;

         第二步找:"FILTER_APPS_ALL"

    tabHost.addTab(tabHost.newTabSpec(TAB_DOWNLOADED)
    .setIndicator(getString(R.string.filter_apps_third_party),
    getResources().getDrawable(R.drawable.ic_tab_download))
    .setContent(this));
    tabHost.addTab(tabHost.newTabSpec(TAB_ALL)
    .setIndicator(getString(R.string.filter_apps_all),
    getResources().getDrawable(R.drawable.ic_tab_all))
    .setContent(this));

    此时通过分析之TAB_DOWNLOADED指的就是用户下载的应用程序,TAB_ALL指的就是所有的应用程序,所以确定下一步搜索TAB_DOWNLOADED

       第三步:搜索TAB_DOWNLOADED 

          if (TAB_DOWNLOADED.equalsIgnoreCase(tabId)) {
            newOption = FILTER_APPS_THIRD_PARTY;

       第五步: 搜索FILTER_APPS_THIRD_PARTY(重新回到找FILTER_APPS_THIRD_PARTY)

          case FILTER_APPS_THIRD_PARTY:
          filterObj = ApplicationsState.THIRD_PARTY_FILTER;

        第五步:先找到ApplicationsState,再找THIRD_PARTY_FILTER

          在ApplicationsState处,按住ctrl键 打开ApplicationsState定义,再找到THIRD_PARTY_FILTER

     1  public static final AppFilter THIRD_PARTY_FILTER = new AppFilter() {
     2         public void init() {
     3         }
     4         
     5         @Override//用于识别是用户自己下载的应用程序(非系统的应用程序)
     6         public boolean filterApp(ApplicationInfo info) {
     7             if ((info.flags & ApplicationInfo.FLAG_UPDATED_SYSTEM_APP) != 0) {
     8                 return true;
     9             } else if ((info.flags & ApplicationInfo.FLAG_SYSTEM) == 0) {
    10                 return true;
    11             }
    12             return false;
    13         }
    14     };

    注:上面红色代码部分就是要找的怎样识别是用户自己下载的应用程序(非系统的应用程序)

  • 相关阅读:
    视频上云解决方案EasyCVR支持接入海康SDK吗?
    视频上云网关EasyCVR程序数据库内数据会丢失吗?
    视频上云解决方案EasyCVR打包软件在linux下解压后台无法运行问题排查
    视频上云解决方案EasyCVR发布linux版本
    视频流媒体平台EasyNVR使用Vue.js开发报[Vue warn]错误问题解决方案
    监控现场无固定IP及公有云服务器如何通过手机查看视频直播?
    幼儿园EasyNVR能力层安防监控平台调用视频直播流报404错误解决方案
    海康NVR的RTSP视频流能否在EasyNVR流媒体平台中正常播放?
    视频云端流媒体平台EasyNVR存储的录像为什么呈现每小时一段录像?
    如何查看EasyNTS智能云组网硬件终端内的资源使用情况?
  • 原文地址:https://www.cnblogs.com/avrilliu/p/3214034.html
Copyright © 2011-2022 走看看