从 PC 通过 USB 数据线访问由 Android 应用程序创建的文件

问题描述

我以前使用过 getExternalStorageDirectory(),它允许我的 Android 应用读取和写入 sdcard/music 目录 (/storage/emulated/0/Music) 中的文件。通过这种方式,我可以通过带有 Windows 资源管理器的 USB 端口与我的 Windows PC 手动交换这些文件

既然 getExternalStorageDirectory() 不适用于 API29,有人可以向我展示或提示我如何在我的应用程序和 Windows 资源管理器之间传输这些文件

这是我需要替换的代码行:

公共类 browseMusic 扩展 AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_browse_decoder);
    this.setTitle("browse");


    FilenameFilter filter = new GenericExtFilter(".evs",".EVS",".pcap",".PCAP");
    String[] listofFiles = Environment.getExternalStoragePublicDirectory (Environment.DIRECTORY_MUSIC).list(filter);
    {
        if (listofFiles != null) {
            ListView codecFileList = (ListView) findViewById(R.id.listD);
            codecFileList.setAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,listofFiles));
            codecFileList.setonItemClickListener(new returnClickedItem());
        }
    }
}

使用上面的代码,我曾经能够列出目录 /storage/emulated/0/Music 并且我后来能够通过 USB 电缆访问我的应用程序创建的文件

但是如果我使用 getExternalFilesDir() 代替

    String[] listofFiles = getExternalFilesDir(Environment.DIRECTORY_MUSIC).list(filter);

我可以列出目录/storage/emulated/0/Android/data/com.mycompany.evsdemo/files/Music。这适用于我的应用程序,但我无法通过 USB 电缆访问该目录。事实上,当我使用 Android Studio 的设备文件资源管理器时,我可以在使用 AVD 时看到该目录,但不能在连接到 USB 的物理 Android 手机上看到。欢迎任何想法。谢谢。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)