找不到处理Intent的活动{act = android.intent.action.OPEN_DOCUMENT cat = [android.intent.category.OPENABLE] typ = / *}

时间:2018-06-11 17:04:27

标签: java android

请帮帮我。我是一个绝对的初学者。无法在上面找到视频。调试代码会给出下面提到的错误。无法理解那些人的意思。请帮助使用正确的代码

尝试打开文件浏览器的应用程序,但我正在

收到调试消息
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();
        }
    }

 }

}

1 个答案:

答案 0 :(得分:0)

代码对我来说很好。

您确定设备上安装了DocumentsProvider可以处理.docx吗?

你确定你的哑剧模式是正确的吗? docx的mime是application/vnd.openxmlformats-officedocument.wordprocessingml.document。无论如何,您将其指定为以" /"开头似乎不正确,因为mime类型是斜线分隔但不以" /"开头。