android - 如何以编程方式打开 Samsung Android 我的文件中的特定路径

标签 android

我使用以下代码允许用户从 Samsung Android 设备访问“我的文件”。当用户按下按钮时,我试图在我的文件中打开特定路径。现在它将打开默认路径。你能告诉我从Android打开我的文件时是否可以通过路径吗?下面是我使用的代码。你能给我将我的文件打开到特定路径的代码吗?预先感谢您的帮助。

public void AccessingFiles(View view) {
    Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
    intent.setType("*/*");
    intent.addCategory(Intent.CATEGORY_OPENABLE);

    // special intent for Samsung file manager
    Intent sIntent = new Intent("com.sec.android.app.myfiles.PICK_DATA");
     // if you want any file type, you can skip next line 
    sIntent.putExtra("CONTENT_TYPE", "*/*"); 
    sIntent.addCategory(Intent.CATEGORY_DEFAULT);

    Intent chooserIntent;
    if (getPackageManager().resolveActivity(sIntent, 0) != null){
        // it is device with samsung file manager
        chooserIntent = Intent.createChooser(sIntent, "Open file");
        chooserIntent.putExtra(Intent.EXTRA_INITIAL_INTENTS, new Intent[] { intent});
    }
    else {
        chooserIntent = Intent.createChooser(intent, "Open file");
    }

    try {
        startActivityForResult(chooserIntent, CHOOSE_FILE_REQUESTCODE);
    } catch (android.content.ActivityNotFoundException ex) {
        Toast.makeText(getApplicationContext(), "No suitable File Manager was found.", Toast.LENGTH_SHORT).show();
    }
}

最佳答案

对于寻找同一问题的解决方案的任何人,这就是我打开指向特定路径的“我的文件”的方式:

File folder = new File(""); // construct the path
Intent fmIntent = new Intent(Intent.ACTION_MAIN);
fmIntent.setComponent(new ComponentName("com.sec.android.app.myfiles", "com.sec.android.app.myfiles.MainActivity"));
fmIntent.setData(Uri.parse(folder.toString()));

请注意,fmIntent.setData(Uri.fromFile(folder)) 对我不起作用。

该解决方案已使用 My Files 1.19.0 进行测试,这就是我得出的结果:

  1. 我创建了一个自定义启动器;
  2. 我的文件可以创建指向特定路径的主屏幕快捷方式;
  3. 当安装快捷方式 Intent 发送到我的启动器时,我转储了它的内容,以便我可以使用它们从上面的代码 fragment 创建我的 fmIntent。

关于android - 如何以编程方式打开 Samsung Android 我的文件中的特定路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28349132/

相关文章:

android - Facebook 移动登录和服务器端验证

android - 如何使 View 在触摸事件时可调整大小

Android:EditText - 多行和 android:inputType

android - 查询适用于 Android 的 Firebase 数据库

javascript - 下载后图库不显示图像?

java - 从屏幕顶部到底部的布局

java.net.ConnectException : failed to connect to/192. 168.10.110 连接失败:ECONNREFUSED(连接被拒绝

java - 如何使用ARCore识别盒子?

Android Firebase 深层链接不适用于 redmi 小米设备

java - NPE : CursorTreeAdapter$MyCursorHelper. changeCursor(Cursor, boolean)' 在空对象引用上