颤动:以编程方式选择启动器作为默认启动器

flutter: choose launcher as default programmatically

我正在开发一个启动器应用程序并希望用户弹出一个弹出窗口,他们可以在其中选择我的应用程序作为他们的默认启动器,我已经看到很多关于堆栈溢出的问题,但它们是针对 android。我假设执行此操作的唯一方法是使用意图,因此我尝试使用此 intent package, I tried simulating the code here, android: choose default launcher programmatically,但未能成功完成。有没有办法在 Flutter 中做到这一点?无论如何,这是我尝试过的代码:

// method is called in initState()
void defaultLauncherOption() {
    intentFlutter
        .Intent()
          ..setAction("android.intent.action.MAIN")
          ..addCategory("android.intent.category.HOME")
          ..addCategory("android.intent.category.DEFAULT")
          ..addCategory("android.intent.category.LAUNCHER")
          ..startActivity().catchError((e) => print("intent error: " + e.toString()));
  }

// the code doesn't give any errors but is not performing any operation as well.

万一有人需要这个问题的答案,我使用 intent package 和以下代码完成了:

void displayDefaultLauncherChooser() {
    intentFlutter
        .Intent()
          ..setAction(actionFlutter.Action.ACTION_MAIN)
          ..addCategory("android.intent.category.HOME")
          ..addCategory("android.intent.category.DEFAULT")
          ..addFlag(flag.Flag.FLAG_ACTIVITY_NEW_DOCUMENT)
          ..startActivity().catchError((e) => print("intent error: " + e.toString()));
  }