startActivity к ссылкам "file: //" падает - PullRequest
1 голос
/ 13 апреля 2011

Я пытаюсь создать программу, которая просто открывает файл на 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" - браузер открывается нормально. Как я могу заставить этот код работать?

1 Ответ

0 голосов
/ 13 апреля 2011

Если вы пытаетесь установить 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); 

Надеюсь, это поможет.

...