Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.fromFile(new File(Environment.getExternalStorageDirectory() + "/download/" + "app.apk")), "application/vnd.android.package-archive");
startActivity(intent);
Это было найдено здесь: Вопрос [4967669] android-install-apk-programmatically
Используя Service для Android, я получаю следующее сообщение об ошибке:
05-03 08:24:14.559: E/AndroidRuntime(21288): НЕИСПРАВНОЕ ИСКЛЮЧЕНИЕ: Thread-1706 05-03 08:24:14.559: E/AndroidRuntime(21288): android.util.AndroidRuntimeException: вызов startActivity() извне контекста действия требуется флаг FLAG_ACTIVITY_NEW_TASK. Это действительно то, что вы хотите?
Я добавил FLAG_ACTIVITY_NEW_TASK:
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
Но сейчас ничего не происходит. Нет ошибки, но и нет попытки установить apk. Я думаю, это может быть потому, что у него нет активности (поскольку это сервис)?
ВОПРОС Можно ли установить APK через фоновую службу Android? (если да) кто-нибудь знает, как мне это сделать?
Заранее спасибо
PS: Насколько я понимаю, сервисы очень похожи на действия, поэтому не знаю, почему это не сработает.