【问题标题】:How to uninstall an app in flutter programatically?如何以编程方式卸载应用程序?
【发布时间】:2019-08-05 10:09:12
【问题描述】:

我正在用颤振构建一个启动器应用程序。但我无法添加卸载功能。请帮我。

【问题讨论】:

  • 您无法卸载该应用程序。您只能要求名为 Package Manager 的系统应用程序开始卸载进程,用户必须在此确认他是否愿意卸载它。
  • 怎么做?你能帮我吗?我在 Native Java 中做到了,但不知道如何在 dart 中做到这一点。
  • 你能在飞镖中发送意图吗?如果可以,那么您应该可以发送正确的意图,就像在 Java 中一样
  • 我正在尝试,但仍然不确定这种可能性。
  • 我正在尝试这个,但我不知道它是否有效flutter.dev/docs/development/platform-integration/…

标签: android dart flutter launcher


【解决方案1】:

manifest文件中添加权限

<uses-permission android:name="android.permission.REQUEST_DELETE_PACKAGES" />

在您的 pubspec.yaml 文件中添加一个包

intent: ^1.3.4

使用下面显示的代码和

要卸载应用程序,请将包名称传递给它。 $packageName 是一个变量 例如,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);
  });

使用这个系统会出现一个弹出窗口,要求卸载应用程序。

因此,您可以使用 Flutter 以编程方式卸载 Android 设备上的应用程序。

【讨论】:

  • 只适用于安卓,尚未测试iOS
  • 别打扰了。 iOS 不允许这样做。
  • 这个包在两次尝试卸载后崩溃了我的应用程序,如果你也遇到了这个问题,那么你可以在 pub.dev 中搜索卸载应用程序并下载最近更新的包来解决这个错误,这个是意图特定的问题。另外flutter团队提供的名为android_intent的包目前不支持删除包。
猜你喜欢
  • 1970-01-01
  • 2012-03-17
  • 2011-10-12
  • 1970-01-01
  • 1970-01-01
  • 2011-04-24
  • 1970-01-01
  • 2019-05-11
相关资源
最近更新 更多