打开默认资源管理器活动

时间:2016-09-08 18:32:03

标签: android

从Android 6开始提供默认文件资源管理器。您可以使用浏览按钮在存储设置中打开它。我想从应用程序打开它,但我找不到意图,任何提示?

2 个答案:

答案 0 :(得分:0)

尝试:

fileManagerButton.setOnClickListener(new OnClickListener() {

   @Override
   public void onClick(View v) {
      Intent fileManagerIntent = new Intent();
      fileManagerIntent.setAction(Intent.ACTION_GET_CONTENT);
      fileManagerIntent.setType("file/*");
      startActivity(fileManagerIntent);
   }
}

答案 1 :(得分:0)

我找到了设置应用使用的代码。它启动一个新活动,调用VolumeInfo类的方法buildBrowseIntent()。 VolumeInfo类使用此代码构建intent:

public Intent buildBrowseIntent() {
        final Uri uri;
        if (type == VolumeInfo.TYPE_PUBLIC) {
            uri = DocumentsContract.buildRootUri(DOCUMENT_AUTHORITY, fsUuid);
        } else if (type == VolumeInfo.TYPE_EMULATED && isPrimary()) {
            uri = DocumentsContract.buildRootUri(DOCUMENT_AUTHORITY,
                    DOCUMENT_ROOT_PRIMARY_EMULATED);
        } else {
            return null;
        }
        final Intent intent = new Intent(DocumentsContract.ACTION_BROWSE);
        intent.addCategory(Intent.CATEGORY_DEFAULT);
        intent.setData(uri);
        // note that docsui treats this as *force* show advanced. So sending
        // false permits advanced to be shown based on user preferences.
        intent.putExtra(DocumentsContract.EXTRA_SHOW_ADVANCED, isPrimary());
        intent.putExtra(DocumentsContract.EXTRA_FANCY_FEATURES, true);
        intent.putExtra(DocumentsContract.EXTRA_SHOW_FILESIZE, true);
        return intent;
    }