Как удалить приложение во flutter программно?

#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, в настоящее время не поддерживает удаление пакета.