从其他应用程序共享的uri获取apk文件的真实路径

时间:2019-09-20 10:00:50

标签: android

说,现在,一个文件浏览器使用FileProvider打开一个apk文件,好吧,使用如下所示的意图:

intent.setDataAndType(apkFileUri, "application/vnd.android.package-archive");

我已经在接收到的活动中设置了intent-filter,如下所示:             

            <action android:name="android.intent.action.VIEW" />

            <data
                android:mimeType="application/vnd.android.package-archive"
                android:scheme="content" />

            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>

关键是我如何从uri获取此文件的绝对路径?这个uri不像内容或文件+绝对路径,而是开发人员的一些个人定义的路径。 我通过uri.getPath()从不同的浏览器中检索了路径,并且得到了以下信息:

/file/storage/emulated/0/myMessage-global-xxhdpi-debug-1.6.0.apk
/external/file/65971

我需要apk文件的绝对路径,以便可以使用PackageManager中的方法获取apk文件的PackageInfo,以显示详细信息,例如所需的权限,版本代码和e.t.c。所以我真的需要APK文件的绝对路径。我四处搜寻,如果格式是图像或音频,我知道可以获得路径。但是我需要apk路径。

getPackageArchiveInfo(String archiveFilePath, int flag)

0 个答案:

没有答案