【问题标题】:Bluetooth folder, different path on different phones蓝牙文件夹,不同手机路径不同
【发布时间】:2012-08-23 08:46:15
【问题描述】:

我发现不同版本的android将接收到的蓝牙文件放在不同的文件夹中。例如,我的一部运行 android 2.2 的测试手机将文件保存到此路径:

/mnt/sdcard/Downloads/Bluetooth

我的第二部测试手机运行 android 4.0 将文件保存在这里

/mnt/sdcard/Bluetooth

这个操作系统是“问题”还是手机制造商设置的?

如果第一个语句是正确的,我可以检查哪个版本的android运行,以及指向蓝牙文件夹吗?还是有更简单的方法来做到这一点?

谢谢!

【问题讨论】:

  • 你为什么在这里问这个问题?要求制造。
  • 我在问,因为这对于我们所有人在 android 上使用蓝牙相关的东西来说确实是一个问题。联系所有制造商并提出这个问题对我来说是一项巨大的工作。
  • 我正在做同样的事情。

标签: android bluetooth


【解决方案1】:

几个小时后,我做了两种方法来做到这一点。您应该将方法放在AsyncTaskThread 中。所以这是我的两种方法:

public List<File> folderSearchBT(File src, String folder)
        throws FileNotFoundException {

    List<File> result = new ArrayList<File>();

    File[] filesAndDirs = src.listFiles();
    List<File> filesDirs = Arrays.asList(filesAndDirs);

    for (File file : filesDirs) {
        result.add(file); // always add, even if directory
        if (!file.isFile()) {
            List<File> deeperList = folderSearchBT(file, folder);
            result.addAll(deeperList);
        }
    }
    return result;
}

这是一种递归方法,它将src 参数中的所有文件夹添加到列表中。

我这里用这个方法这个方法:

public String searchForBluetoothFolder() {

    String splitchar = "/";
    File root = Environment.getExternalStorageDirectory();
    List<File> btFolder = null;
    String bt = "bluetooth";
    try {
        btFolder = folderSearchBT(root, bt);
    } catch (FileNotFoundException e) {
        Log.e("FILE: ", e.getMessage());
    }

    for (int i = 0; i < btFolder.size(); i++) {

        String g = btFolder.get(i).toString();

        String[] subf = g.split(splitchar);

        String s = subf[subf.length - 1].toUpperCase();

        boolean equals = s.equalsIgnoreCase(bt);

        if (equals)
            return g;
    }
    return null; // not found
}

希望这会有所帮助,伙计们!

【讨论】:

  • 所以它对任何具有“蓝牙”名称的文件夹进行深度扫描?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-14
  • 2020-05-22
  • 1970-01-01
  • 1970-01-01
  • 2016-06-21
相关资源
最近更新 更多