Страницы

Поиск по вопросам

четверг, 2 января 2020 г.

Дополнительные возможности установки apk

#установка #инструменты #android #java




У менять есть порядка 10 apk файлов, которые надо инсталлировать на Android устройства.
Если устанавливать их по отдельности, то это занимает много времени. Есть ли способ
установить все приложения разом, при помощи клика на один файл?


Можно ли при этом чтобы после установки на рабочем столе на приложения автоматически
создались ярлыки?


Можно ли при этом автоматически перенести нужные мне файлы в нужное мне место?

    


Ответы

Ответ 1



Я поступил следующим образом: сделал другой apk файл, в нем для решения 1 задачи: Uri uri = Uri.fromFile("instal.apk"); Intent intent = new Intent(Intent.ACTION_VIEW); intent.setDataAndType(uri, "application/vnd.android.package-archive"); startActivityForResult(intent,5000); Для решения 2 задачи: В AndroidManifest.xml пишем А в Activity пишем: Intent shortcutIntent = new Intent(); shortcutIntent.setClassName("com.name.package", ".NameActivity"); shortcutIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); shortcutIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); shortcutIntent.addCategory(Intent.ACTION_PICK_ACTIVITY); Intent intentSC = new Intent(); intentSC.putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortcutIntent); intentSC.putExtra(Intent.EXTRA_SHORTCUT_NAME, "NameShortcut"); intentSC.putExtra(Intent.EXTRA_SHORTCUT_ICON, BitmapFactory.decodeFile("PathToFileIcon.png")); intentSC.setAction("com.android.launcher.action.INSTALL_SHORTCUT"); sendBroadcast(intentSC); Для решения третьей задачи: В AndroidManifest.xml пишем: В Activity пишем: public void copyDirectory(File sourceLocation , File targetLocation) throws IOException { if (sourceLocation.isDirectory()) { if (!targetLocation.exists()) { targetLocation.mkdirs(); } String[] children = sourceLocation.list(); for (int i=0; i 0) { out.write(buf, 0, len); } in.close(); out.close(); } } И в конце, чтобы не оставлять следы на устройстве удаляем сами себя: Uri packageURI = Uri.parse("package:com.name.apk.package"); Intent uninstallIntent = new Intent(Intent.ACTION_DELETE, packageURI); startActivity(uninstallIntent); }

Ответ 2



Нет. Можно отметить несколько, к примеру, в appinstaller и установить. Нет, на рабочий стол автоматом иконки не ставятся, только в список приложений. Нет.

Комментариев нет:

Отправить комментарий