我正在尝试创建只在sdcard上打开文件的程序。我尝试打开mp3,mp4和apk - 下面的代码总是出乎意料地崩溃。
String _path = "file:///sdcard/1.apk";
Uri outputFileUri = Uri.parse(_path);
Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);
市场联系也崩溃了。但是当我设置_path =“http://google.com”时 - 浏览器会正常打开。如何使这段代码有效?
答案 0 :(得分:0)
如果您正在尝试安装apk,则需要使用以下内容:
String fileName = Environment.getExternalStorageDirectory() + "/1.apk";
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.fromFile(new File(fileName)), "application/vnd.android.package-archive");
startActivity(intent);
如果您尝试启动应用程序(安装后),则:
Intent intent = new Intent();
intent.setClassName("com.pkg.addr", "com.pkg.addr.MainActivity");
startActivity(intent);
如果您尝试启动播放器播放mp3文件:
Intent intent = new Intent(android.content.Intent.ACTION_VIEW);
Uri data = Uri.parse("file:///sdcard/1.mp3");
intent.setDataAndType(data,"audio/mp3");
startActivity(intent);
希望有所帮助。