zoukankan      html  css  js  c++  java
  • 监听Google Player下载并获取包名等信息

    一、解决思路

    通过监听ContentObserver监听下载路径content://downloads

    二、具体步骤

    1 设置监听器

        context.getContentResolver()
            .registerContentObserver(Uri.parse("content://downloads"), true, new ContentObserver() {
                @Override
                public void onChange(boolean selfChange, Uri uri) {
                    super.onChange(selfChange, uri);
                    parseData(uri);
                }
            });
    

    2 数据解析

    • Uri过滤
        private void parseData(Uri uri) {
            List<String> segments = uri.getPathSegments();
            if (segments != null && segments.size() > 1) {
                String segment = (String) segments.get(1);
                synchronized (this.pathSegments) {
                    if (this.pathSegments.contains(segment)) {
                        return;
                    }
                    this.pathSegments.add(segment);
                }
    
                obtainAppInfo(segment);
            }
        }
    
    • 应用信息获取:
        private void obtainAppInfo(String segment){
            ...
            cursor = queryDownloadPkg(segment);
            if (cursor == null || cursor.getColumnCount() < 15) {
                return;
            }
    
            cursor.moveToNext();
            String marketName = cursor.getString(9); // 应用市场包名
            String appLink = cursor.getString(15); // 下载应用的包名链接
            String appName = cursor.getString(20); //获取应用名称
            ...
        }
    
        private Cursor queryDownloadPkg(String segment) {
            return this.context.getContentResolver()
                    .query(Uri.parse("content://downloads/public_downloads/" + segment),
                            (String[]) null, (String) null, (String[]) null, (String) null);
        }
    
  • 相关阅读:
    关于一个简单面试题(。net)
    写一个TT模板自动生成spring.net下面的配置文件。
    EF自动生成的(T4模板) 关联属性元数据修改
    关于面向切面编程的部分内容-错误处理机制
    memcache 安装
    Newtonsoft.Json工具类
    关于Memcache使用的工具类
    关于 Log4Net
    今天开始写博客
    OC 协议
  • 原文地址:https://www.cnblogs.com/diffx/p/9541346.html
Copyright © 2011-2022 走看看