【发布时间】:2016-05-04 17:54:07
【问题描述】:
我正在开发一个接受 .puz 文件作为输入的填字游戏应用程序。我尝试了以下代码,其中应用程序不接受来自默认文件管理器的 .puz 文件,而它接受并在通过第三方文件管理器(如 ES 文件管理器)发送时开始游戏.有没有办法让它通过默认文件管理器接受输入?
public void loadFile(View view){
Intent intent = new Intent(MediaStore.Files.FileColumns.DATA);
intent.setType("*/*");
intent.putExtra("CONTENT_TYPE", "*/*");
intent.addCategory(Intent.CATEGORY_DEFAULT);
intent.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(Intent.createChooser(intent, "Select PUZ file"), 1);
}
//selected file will be processed here
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if(requestCode == 1){
if(resultCode == RESULT_OK){
String path = getPath(data.getData());
if(path!=null&&path.endsWith("puz")) {
try {
PuzzleDatabaseHelper dbHelper = WordsWithCrossesApplication.getDatabaseHelper();
Intent intent = new Intent(Intent.ACTION_EDIT, null, this, PlayActivity.class);
intent.putExtra(PlayActivity.EXTRA_PUZZLE_ID, dbHelper.addPuzzle(new File(path),"dilip","",0));
this.startActivity(intent);
} catch (Exception e) {
}
}
else
Toast.makeText(this, "Invalid Format or Try different File Manager to select file", Toast.LENGTH_SHORT).show();
}
}
}
【问题讨论】:
标签: android file-manager puz