无法在清单中声明活动

时间:2016-06-24 07:41:55

标签: android google-chrome android-manifest

我正在尝试在Chrome中打开文件,如果我不使用try / catch,则显示错误

  

" 无法找到明确的活动类(com.android.browser / com.android.chrome / com.google.android.apps.chrome.Main);您是否已在 AndroidManifest.xml

中声明了此活动

我还没有宣布,也不知道怎么样 - 有人可以帮我吗?

void deployChromeFile()
{
    File file = new File(Environment.getExternalStorageDirectory() +"/Documents/Recipe73.htm");
    if(file.exists()){
        try {
            Intent browserIntent = new Intent(Intent.ACTION_VIEW);
            browserIntent.setData(Uri.fromFile(file));
            browserIntent.setType("multipart/related");
            browserIntent.setClassName("com.android.browser", "com.android.chrome/com.google.android.apps.chrome.Main");                                                      
            browserIntent.addCategory(Intent.CATEGORY_BROWSABLE);
            browserIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            browserIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
            browserIntent.addFlags(Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS);
            startActivity(browserIntent);
        } catch (ActivityNotFoundException e) {
                Toast.makeText(this, "Activity not found ", Toast.LENGTH_LONG).show();
       }
    }
    else{Toast.makeText(this, "File does not exist ", Toast.LENGTH_LONG).show();}
}

2 个答案:

答案 0 :(得分:0)

实施已经改变,试试这个简单的方法,

try {
    Intent intent = new Intent(Intent.ACTION_VIEW);
    intent.setData(uri);
    intent.setPackage("com.android.chrome");
    startActivity(intent);
} catch (ActivityNotFoundException e) {
    Intent intent = new Intent(Intent.ACTION_VIEW);
    intent.setData(uri);
    startActivity(intent);
}

希望它会有所帮助:)

答案 1 :(得分:0)

我被重新发送到Manifest的错误消息所牵制。意图不需要声明。由于我缺乏知识,我将意图过滤器与意图混淆。感谢您的帮助。