java - 未找到处理 Intent 的 Activity { act=android.intent.action.OPEN_DOCUMENT cat=[android.intent.category.OPENABLE] typ=/* }
问题描述
请帮我。我是一个绝对的初学者。找不到上面的视频。调试代码会出现下面提到的错误。看不懂那些意思。请帮助正确的代码
尝试打开文件浏览器的应用程序,但我收到调试消息
com.example.anirbitadak.translator.MainActivity.startsearch(MainActivity.java:59)
at com.example.anirbitadak.translator.MainActivity.access$000(MainActivity.java:15)
at com.example.anirbitadak.translator.MainActivity$1.onClick(MainActivity.java:47)*/
活动:
package com.example.anirbitadak.translator;
import android.app.Activity;
import android.net.Uri;
import android.os.Environment;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.content.Intent;
import android.widget.Toast;
import android.util.Log;
public class MainActivity extends AppCompatActivity {
Button upload, translate;
public static final int REQUEST_CODE = 12;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
upload = (Button) findViewById(R.id.upload);
translate = (Button) findViewById(R.id.translate);
upload.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v){
startsearch();
}
});
}
private void startsearch() {//declaration of startsearch();
Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT);
intent.setType("/*.docx");
//intent.setType("/*.pdf");
//intent.setType("/*.doc");
intent.addCategory(Intent.CATEGORY_OPENABLE);
startActivityForResult(intent, REQUEST_CODE);
}
@Override
protected void onActivityResult(int requestcode, int resultcode, Intent data) {
super.onActivityResult(requestcode, resultcode, data);
if (requestcode == REQUEST_CODE && resultcode == Activity.RESULT_OK) {
if (data != null) {
Uri uri = data.getData();
//Flashing the path
Toast.makeText(this, "Uri:" + uri, Toast.LENGTH_LONG).show();
Toast.makeText(this, "Path:" + uri.getPath(), Toast.LENGTH_LONG).show();
}
}
}
}
解决方案
代码对我来说看起来不错。
您确定DocumentsProvider
设备上安装了可以处理 .docx 的设备吗?
你确定你的 mime 模式是正确的吗?docx 的 mime 是application/vnd.openxmlformats-officedocument.wordprocessingml.document
. 无论如何,您将其指定为以“/”开头似乎是不正确的,因为 mime 类型以斜线分隔但不以“/”开头。
推荐阅读
- networking - SIM800C 未在网络上注册
- wordpress - 重力pdf保存到服务器文件
- c - 为什么我在这段代码中遇到分段错误?
- javascript - 做出承诺等待另一个承诺
- alexa - 在对话期间,alexa 以 sessionEnd 语音响应,没有任何理由
- reactjs - 使用 React Children 代码示例不起作用
- javascript - axios 不适用于三星 Tizen 电视,但在模拟器中运行良好
- python - Django 从 ImageField 更改图像的名称
- react-native - React Native 选项卡导航 initialRouteName 动态变化
- gnuplot - 如何从一维数组创建图像二维(设置密度)