gpt4 book ai didi

Android 从我的应用程序获取 pdf 文件的路径

转载 作者:太空狗 更新时间:2023-10-29 13:23:40 25 4
gpt4 key购买 nike

我正在做一个安卓应用程序。目标如下。

Objective:

如果用户想在他们的 Android 移动设备上的任何地方共享 pdf(或)图像文件形式,他们将在共享列表中选择我的应用程序。我想知道,用户是选择了 pdf 文件还是图像。为此,我使用了以下代码。

In AndroidManifest.xml

<activity
android:name="com.share.FileActivity"
android:screenOrientation="portrait"
android:theme="@android:style/Theme.NoTitleBar" >
<intent-filter>
<action android:name="android.intent.action.SEND" />
<data android:mimeType="application/pdf" />
<data android:mimeType="image/*" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>

In FileActivity.java, to get the selected file URI

public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

Intent myintent = getIntent();
Bundle extras = myintent.getExtras();
String action = myintent.getAction();
if (Intent.ACTION_SEND.equals(action)) {
if (extras.containsKey(Intent.EXTRA_STREAM)) {
URI uri = (Uri) extras.getParcelable(Intent.EXTRA_STREAM);
.
.
}
}
}

Issue:

如果我从文件资源管理器打开 pdf,我将获得正确的 URI,如“file:///storage/emulated/0/Download/test.pdf”。这样我就可以识别为pdf或图像。

但是如果我从谷歌驱动器应用程序打开 pdf 文件,我会得到以下 URI“content://com.google.android.apps.docs.storage.legacy/enc%3Du4Ss-AYnclkKv- lfNmA3wY7YBbb_JxRfayDTvfQfHWokHkoy%0A”。所以我无法识别所选文件。

如何从上述 URI 获取文件类型。帮我解决这个问题?

最佳答案

How can I get the file type from the above URI

正如 Selvin 所说,请调用 getType() on a ContentResolver() .您可以通过在任何 Context(例如您的 Activity)上调用 getContentResolver() 来获取 ContentResolver

关于Android 从我的应用程序获取 pdf 文件的路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24756214/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com