【问题标题】:Method not supported on this platform此平台不支持的方法
【发布时间】:2014-03-26 13:32:21
【问题描述】:

我正在使用 forge.prefs.get 来获取缓存的用户令牌,它在 iO 和 Web 中运行良好。我正在使用backbone.js 来渲染所有内容。 在 Android 中,尝试使用相同的调用时出现此错误:

[DEBUG] Native call prefs.get with task.params: {"key":"user"}
[DEBUG] Native call notification.hideLoading with task.params: {}
[INFO] --------- beginning of /dev/log/system
[DEBUG] Returned: {"content":{"message":"Method not supported on this platform","type":"UNAVAILABLE","subtype":null},"callid":"4B01A334-2DC4-4511-A029-2C9D9B131D8C","status":"error"}

这是我在运行模拟器时得到的。如果我编译一个 APK 并安装它,代码会默默地失败,并且用户卡在登录屏幕上。

这是我用来获取用户信息的代码:

     forge.prefs.get('user', function(user){ //success
      if(user === null){
        alert('USER not found');
        App.ViewManager.Login();
      }else{
        var u = JSON.parse(user);
        forge.logging.info(u);
        forge.logging.info(u.authentication_token);
        App.Utils.authToken = u.authentication_token;
        App.ViewManager.Companies();
      }
    })

这是用来存储数据的:

forge.prefs.set('user', JSON.stringify(data), function(){},function(){});

同样,这在 iOS 和 Web 版本中完美运行。关于为什么会发生这种情况的任何想法?

我在模拟器上使用的是android 4.4,Trigger toolkit version 2.1.3,prefs模块是2.0版

【问题讨论】:

标签: android backbone.js trigger.io


【解决方案1】:

当使用forge.prefs.setforge.prefs.get 时,您不需要stringifyparse 数据。数据会自动存储为 JSON 对象,因此请尝试将代码更改为:

forge.prefs.set( 'user', data );

并删除JSON.parse(user); 行。

【讨论】:

    猜你喜欢
    • 2018-08-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-29
    • 1970-01-01
    • 1970-01-01
    • 2021-01-05
    相关资源
    最近更新 更多