#android #dart #flutter #launcher
#Android #dart #flutter #лаунчер
Вопрос:
Я создаю приложение запуска во flutter. Но я не смог добавить функцию удаления. Пожалуйста, помогите мне.
Комментарии:
1. вы не можете удалить приложение. Вы можете только попросить системное приложение с именем Package Manager запустить процесс удаления, где пользователь должен будет подтвердить, что он хочет его удалить.
2. Как это сделать? Вы можете помочь? Я сделал это на родной Java, но не знаю, как это сделать в dart.
3. Можете ли вы отправлять намерения в dart? Если вы можете, то у вас должно быть все в порядке, чтобы просто отправить правильное намерение, такое же, как в Java
4. Я пытаюсь, но все еще не уверен в возможности.
5. Я пытаюсь это сделать, но я не знаю, сработает это или нет flutter.dev/docs/development/platform-integration /…
Ответ №1:
Добавьте разрешение в manifest
файл
<uses-permission android:name="android.permission.REQUEST_DELETE_PACKAGES" />
добавьте пакет в свой pubspec.yaml
файл
intent: ^1.3.4
Используйте приведенный ниже код и
Чтобы удалить приложение, передайте ему имя пакета. $packageName
является ли переменная ex, some.app.id
android_intent.Intent()
..setAction(android_action.Action.ACTION_DELETE)
..setData(Uri.parse("package:$packageName"))
..startActivityForResult().then((data) {
print(data);
}, onError: (e) {
print(e);
});
при использовании этого сгенерированного системой всплывающего окна появится запрос на удаление приложения.
Таким образом, используя это, вы можете удалять приложения на своем устройстве Android с помощью flutter программно.
Комментарии:
1. Это только для Android, не тестировалось для iOS
2. Не беспокойтесь. iOS этого не допускает.
3. Этот пакет выводит из строя мое приложение после двух попыток удаления, если вы также столкнулись с проблемой, вы можете выполнить поиск по удалению приложений в pub.dev и загрузить пакет, который недавно обновлен, чтобы устранить эту ошибку, это проблема, связанная с намерением. Кроме того, пакет, предоставленный командой flutter с именем android_intent, в настоящее время не поддерживает удаление пакета.