如何以编程方式在android中打开隐藏文件?

时间:2015-10-18 08:10:32

标签: android text-files android-sdcard

在我的应用中,我使用以下代码创建了一个隐藏文本文件:

logfile = new File(Environment.getExternalStorageDirectory().toString()+ "/.logfile.txt");

if(!logfile.exists()){
    try {
        logfile.createNewFile();

        //Toast.makeText(SimpleIME.this,"File created...",Toast.LENGTH_SHORT).show();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
        Toast.makeText(SimpleIME.this,"IOException : "+e.getMessage(),Toast.LENGTH_SHORT).show();
    }
}

这很好用。它会创建一个隐藏文件。然后,当我按下名为viewlog的按钮时,我想再次打开该文本文件。

viewlog的代码是这样的。

viewlog.setOnClickListener(new OnClickListener() {

@Override
    public void onClick(View arg0) {

        logfile =    new File(Environment.getExternalStorageDirectory().toString()+ "/.logfile.txt");
         Uri uri = Uri.parse("file://" + logfile.getAbsolutePath());
         Intent intent = new Intent(Intent.ACTION_VIEW);
         intent.setData(uri);
         startActivity(intent);

    }

});

因此,当我运行此应用时,当我点击此viewlog按钮时,它会强制关闭该应用。

那么如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

引起:android.content.ActivityNotFoundException:找不到处理Intent的Activity

    logfile = new File(Environment.getExternalStorageDirectory().toString()+ "/.logfile.txt");
    Uri uri = Uri.parse("file://" + logfile.getAbsolutePath());
    Intent intent = new Intent(Intent.ACTION_VIEW);
    intent.setDataAndType(uri, "text/plain");
    startActivity(intent);