Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/197.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 共享首选项使用哪个权限?安卓(颤振)_Android_Flutter_Permissions - Fatal编程技术网

Android 共享首选项使用哪个权限?安卓(颤振)

Android 共享首选项使用哪个权限?安卓(颤振),android,flutter,permissions,Android,Flutter,Permissions,所以我制作了一个登录页面,当我在emulator中运行它时,它可以正常工作,但当我运行发布版本时,我看到在xml文件中添加internet权限允许我的应用程序连接。但是,我找不到为共享首选项提供什么权限,因为它没有登录 以下是代码的一部分: if (jsonResponse['ErrorMesage'] != null) { print(jsonResponse['ErrorMesage']); showAlertDialog(context); } el

所以我制作了一个登录页面,当我在emulator中运行它时,它可以正常工作,但当我运行发布版本时,我看到在xml文件中添加internet权限允许我的应用程序连接。但是,我找不到为共享首选项提供什么权限,因为它没有登录

以下是代码的一部分:

if (jsonResponse['ErrorMesage'] != null) {
      print(jsonResponse['ErrorMesage']);
      showAlertDialog(context);
    }
    else {
      print("ok");
      sharedPreferences.setString("Token", jsonResponse['Token']);
      Navigator.of(context).pushAndRemoveUntil(
          MaterialPageRoute(builder: (BuildContext context) => Home()),
              (Route<dynamic> route) => false);
    }
if(jsonResponse['ErrorMesage']!=null){
打印(jsonResponse['ErrorMesage']);
showAlertDialog(上下文);
}
否则{
打印(“确定”);
setString(“Token”,jsonResponse['Token']);
Navigator.of(context).pushandremoveintil(
MaterialPackageRoute(生成器:(BuildContext上下文)=>Home()),
(路由)=>false);
}
以下是用于检查的代码:

checkLoginStatus() async {
    sharedPreferences = await SharedPreferences.getInstance();
if (sharedPreferences.getString("Token") == null) {
  Navigator.of(context).pushAndRemoveUntil(
      MaterialPageRoute(builder: (BuildContext context) => MyApp()),
          (Route<dynamic> route) => false);
}
}
checkLoginStatus()异步{
SharedReferences=等待SharedReferences.getInstance();
if(SharedReferences.getString(“令牌”)==null){
Navigator.of(context).pushandremoveintil(
MaterialPage路由(生成器:(BuildContext上下文)=>MyApp()),
(路由)=>false);
}
}

SharedPreferences不会提示用户输入权限,因为它是密钥/值对寄存器。
您能解释一下您想要实现什么吗?

SharedReferences不会提示用户输入权限,因为它是密钥/值对寄存器。
你能解释一下你想要实现什么吗?

所以问题是,当你在调试模式下运行上述代码时,它运行正常,但在发布模式下,检查错误是否为null的if语句不起作用,因为发布模式不支持显然为null的语句。因此,使用“”而不是null对我来说很有效。感谢您的尝试。

所以问题是,当您在调试模式下运行上述代码时,它运行正常,但在发布模式下,检查错误是否为null的if语句无法工作,因为发布模式不支持显然为null的语句。因此,使用“”而不是null对我来说很有效。感谢您的尝试。

因此,使用共享首选项,我希望确保用户根据我的理解登录,该函数将检查令牌是否为空,它将重定向他到主应用,否则它将重定向他到另一个页面?发生了什么问题?它在调试模式下工作得很好,但在发布模式下,它不工作,所以我假设它没有权限。我需要添加一个未来的东西吗?如果你能显示所有的代码,它会更好。完整场景因此,使用共享首选项,我想确保用户根据我的理解登录,函数将检查令牌是否为空,它将将他重定向到主应用程序,否则它将他重定向到另一个页面?发生了什么问题?它在调试模式下工作得很好,但在发布模式下,它不工作,所以我假设它没有权限。我需要添加一个未来的东西吗?如果你能显示所有的代码,它会更好。完整场景