我正在使用以下意图从我的设备中选择任何文件,但它仅为三星平板电脑选择文件而不是任何其他设备。
Intent intent = new Intent("com.sec.android.app.myfiles.PICK_DATA");
intent.putExtra("CONTENT_TYPE", "*/*");
intent.addCategory(Intent.CATEGORY_DEFAULT);
答案 0 :(得分:1)
根据文档,您应该使用ACTION_PICK
方法使用startActivityForResult()
意图:
final int ACTION_PICK_RESULT = 0;
Intent intent = new Intent(Intent.ACTION_PICK);
intent.setType("*/*");
startActivityForResult(intent, ACTION_PICK_RESULT);
然后,您可以使用活动的onActivityResult()
方法检索文件。
@Override
public void onActivityResult(int requestCode, int resultCode, Intent returnIntent) {
if (resultCode == RESULT_OK) {
Uri returnUri = returnIntent.getData();
try {
ParcelFileDescriptor pfd = getContentResolver()
.openFileDescriptor(returnUri, "r");
FileDescriptor fd = pfd.getFileDescriptor();
// TODO Do stuff with the file
}
catch (FileNotFoundException e) {
Log.e("MainActivity", "File not found.");
}
}
}
有关详细信息,请参阅此页面:Requesting a Shared File