在android中使用intent选择任何文件
我使用下面的方法调用pick any file,但它不能正常工作在android中使用intent选择任何文件,android,intentfilter,filepicker,Android,Intentfilter,Filepicker,我使用下面的方法调用pick any file,但它不能正常工作 private void fileIntent(int file) { if ((ActivityCompat.checkSelfPermission(ICShowFileCabinetDetails.this, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) && Build
private void fileIntent(int file)
{
if ((ActivityCompat.checkSelfPermission(ICShowFileCabinetDetails.this, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) && Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
requestPermissions(new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, file);
} else {
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("*/*");
startActivityForResult(Intent.createChooser(intent, "Select File"), file);
}
}
在清单中设置了以下权限
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
选择文件打开每当我点击选择文件在按钮点击。但所有文件都显示为隐藏,除了图像,单击“停止工作”。在没有方法的情况下,单击按钮可以正常工作。如果有人发现代码中有错误,请告诉我
谢谢尝试此代码此代码仅适用于.xls。请使用您的代码。 或者在清单文件中添加读写权限 oncreate声明权限
if (ContextCompat.checkSelfPermission(this,
Manifest.permission.WRITE_EXTERNAL_STORAGE)
!= PackageManager.PERMISSION_GRANTED) {
if (ActivityCompat.shouldShowRequestPermissionRationale(this,
Manifest.permission.WRITE_EXTERNAL_STORAGE)) {
} else {
ActivityCompat.requestPermissions(this,
new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE},23
);
}
}
点击一下你的按钮,写下这段代码
path= String.valueOf(Environment.getExternalStorageDirectory());
File file = new File(path);
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setDataAndType(Uri.fromFile(file), "application/vnd.ms-excel");
try {
startActivityForResult(pdfOpenintent.createChooser(intent, "Select file"), 0); }
catch (ActivityNotFoundException e) {
}
onactivityresult yud获取文件路径
public void onActivityResult(int requestCode, int resultCode, Intent result){
if (resultCode == RESULT_OK){
if (requestCode == 0) {
Uri data = result.getData();
else{
// CommonMethods.ShowMessageBox(CraneTrackActivity.this, "Invalid file type");
Toast.makeText(Import_act.this,"Wrong File Selected ", Toast.LENGTH_SHORT).show();
}
}
}
}
尝试此代码此代码仅适用于.xls。请使用您的代码。 或者在清单文件中添加读写权限 oncreate声明权限
if (ContextCompat.checkSelfPermission(this,
Manifest.permission.WRITE_EXTERNAL_STORAGE)
!= PackageManager.PERMISSION_GRANTED) {
if (ActivityCompat.shouldShowRequestPermissionRationale(this,
Manifest.permission.WRITE_EXTERNAL_STORAGE)) {
} else {
ActivityCompat.requestPermissions(this,
new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE},23
);
}
}
点击一下你的按钮,写下这段代码
path= String.valueOf(Environment.getExternalStorageDirectory());
File file = new File(path);
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setDataAndType(Uri.fromFile(file), "application/vnd.ms-excel");
try {
startActivityForResult(pdfOpenintent.createChooser(intent, "Select file"), 0); }
catch (ActivityNotFoundException e) {
}
onactivityresult yud获取文件路径
public void onActivityResult(int requestCode, int resultCode, Intent result){
if (resultCode == RESULT_OK){
if (requestCode == 0) {
Uri data = result.getData();
else{
// CommonMethods.ShowMessageBox(CraneTrackActivity.this, "Invalid file type");
Toast.makeText(Import_act.this,"Wrong File Selected ", Toast.LENGTH_SHORT).show();
}
}
}
}
我认为你应该像这样添加intent.addCategory(intent.CATEGORY\u OPENABLE);
. 有关更多信息,请访问此链接。我希望这能对你有所帮助。我认为你应该像这样添加intent.addCategory(intent.CATEGORY\u OPENABLE);
. 有关更多信息,请访问此链接。我希望这能对您有所帮助。您能更新您的日志吗?您的android版本是什么。。您正在
中给出意图,否则请发布日志?抱歉,朋友问题已更新。应用程序没有崩溃。请参考图片附件。按照我的回答,您可以使用您的文件扩展名而不是xls@Hasmukhkachhatiya它只适用于excel文件,对吗?我的要求是选择任何文件。你能更新你的日志吗?你的android版本是什么。。您正在中给出意图,否则请发布日志?抱歉,朋友问题已更新。应用程序没有崩溃。请参考图片附件。按照我的回答,您可以使用您的文件扩展名而不是xls@Hasmukhkachhatiya它只适用于excel文件,对吗?我的要求是选择任何文件。