android - 如何打开sdcard内存并选择pdf文件以获取其在android中上传的路径

标签 android

我想将存储在 sdcard 中的文件上传到 php 服务器。要上传文件,我需要文件路径。当我在应用程序中提供路径时,我的文件正在上传到 php 服务器。为此,我使用了代码来自以下网址 Android file uploader with server-side php它工作得很好。但这里的路径仅在源代码中给出。但我不想在我的应用程序中给出路径。我想打开 sdcard,然后选择我想在运行时上传的文件。所以我的问题是如何在运行时从 sdcard 选择 pdf 文件时获取 pdf 的文件路径,以便我可以使用该路径上传该文件。谢谢你

最佳答案

这是我用来获取视频文件的。您可以将它们更改为 pdf。

private static final int SELECT_VIDEO_DIALOG = 1;

...

Intent intent = new Intent();
intent.setType("video/*");
intent.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(Intent.createChooser(intent, "Select Video"), SELECT_VIDEO_DIALOG);

在你的 onActivityResult 中

    public void onActivityResult(int requestCode, int resultCode, Intent result) {
    if (resultCode == RESULT_OK) {
        if (requestCode == SELECT_VIDEO) {
            Uri data = result.getData();

            if(data.getLastPathSegment().endsWith("mp4")){
                Player.show(this, data);    
            } else {
                Toast.makeText(this, "Invalid file type", Toast.LENGTH_SHORT).show();   
            }               
        }
    }
}

这将打开文件管理器应用程序,如 FileEexpert、astro、Gallery ...,您可以浏览并选择文件。

关于android - 如何打开sdcard内存并选择pdf文件以获取其在android中上传的路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6936939/

相关文章:

基本计时器上的 Java IllegalThreadStateException

Android - setFocusedMonthDateColor() 和 setUnfocusedMonthDateColor() 在 SDK 级别 23 中已弃用

java - Android TextView.setText() 在 Thread.sleep() 阻塞之前调用并返回,直到 sleep() 返回。为什么?

android - 将 SeekBar 定位在另一个 View 的垂直边缘

java - Android Realm getInstance 性能

android - 尝试在 Android 中使用 Proguard 和 SQLcipher 时出现 NoClassDefFoundError

android - 有没有办法使用 Google Drive API 获取文件名?

android - android 中的谷歌地图 v2 中的多色折线

java - BottomNavigationView无法使用导航

android - 如何远程唤醒手机?