我一直在尝试获取资产文件的URI路径.
uri = Uri.fromFile(new File("//assets/mydemo.txt"));
Run Code Online (Sandbox Code Playgroud)
当我检查文件是否存在时,我看到该文件不存在
File f = new File(filepath);
if (f.exists() == true) {
Log.e(TAG, "Valid :" + filepath);
} else {
Log.e(TAG, "InValid :" + filepath);
}
Run Code Online (Sandbox Code Playgroud)
有人可以告诉我如何提及资产文件夹中存在的文件的绝对路径
在MediaPlayer.create方法中,可以使用到Raw文件的id但是如何在setDataSource方法中使用它?
我正在尝试从我的资源文件夹中共享图像.我的代码是:
Intent share = new Intent(Intent.ACTION_SEND);
share.setType("image/jpg");
share.putExtra(Intent.EXTRA_STREAM, Uri.parse("file:///assets/myImage.jpg"));
startActivity(Intent.createChooser(share, "Share This Image"));
Run Code Online (Sandbox Code Playgroud)
但它不起作用.你有什么想法?
我试图让这个工作,我已经在线查看了许多不同的资源(你可以从我所做的所有评论中看到).我想访问位于资产或资源中的.pdf文件; 这对最简单的方法来说无关紧要.
我有下面的方法将获得实际文件,并将参数中的Uri调用另一个方法(在下面的第一个方法下).
非常感谢您的帮助,我将随时回答问题或添加更多内容.
private void showDocument(File file)
{
//////////// ORIGINAL ////////////////////
//showDocument(Uri.fromFile(file));
//////////////////////////////////////////
// try 1
//File file = new File("file:///android_asset/RELATIVEPATH");
// try 2
//Resources resources = this.getResources();
// try 4
String PLACEHOLDER= "file:///android_asset/example.pdf";
File f = new File(PLACEHOLDER);
//File f = new File("android.resource://res/raw/slides1/example.pdf");
//getResources().openRawResource(R.raw.example);
// try 3
//Resources resources = this.getResources();
//showDocument(Uri.parse(ContentResolver.SCHEME_ANDROID_RESOURCE + "://" + resources.getResourcePackageName(R.raw.example) + '/' + resources.getResourceTypeName(R.raw.example) + '/' + resources.getResourceEntryName(R.raw.example)));
showDocument(Uri.fromFile(f));
}
protected abstract void showDocument(Uri uri);
Run Code Online (Sandbox Code Playgroud)