android4.4对于下载里面有些apk文件无法打开的修改

来源:互联网 发布:单簧管和长笛 知乎 编辑:程序博客网 时间:2024/06/15 22:35

修改文件:framework/base/packages/DocumentsUI/src/com/android/documentsui/DocumentsActivity.java

在onDocumentPicked方法里面的else if (mState.action == ACTION_MANAGE)里面加上

            final Intent manage;            if (doc != null && doc.displayName != null                    && doc.displayName.endsWith(".apk")) {                //所有下载文件的uri地址                Uri uri = Uri.parse("content://downloads/all_downloads");                ContentResolver resolver = getContentResolver();                Cursor cursor = resolver.query(uri, null, null, null, null);                String path = null;                while(cursor.moveToNext()){                    String temp = cursor.getString(cursor.getColumnIndex("_data"));                    if (temp != null && doc != null                            && temp.contains(doc.displayName)) {                        path = temp;                    }                }                //打开apk文件到安装界面                File file =  new File(path);                Uri fileUri = Uri.fromFile(file);                manage = new Intent(Intent.ACTION_VIEW);                manage.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);                manage.addCategory("android.intent.category.DEFAULT");                manage.setDataAndType(fileUri,                        "application/vnd.android.package-archive");            } else {                manage = new Intent(DocumentsContract.ACTION_MANAGE_DOCUMENT);                manage.setData(doc.derivedUri);            }


0 0
原创粉丝点击