1

是否可以在基于 SUP(Sybase Unwired Plattform 2.1.2)的 android 应用程序中使用多个用户?

我有一个安装在由多个用户共享的设备(物流)上的 android 应用程序。当我注册一个设备时,它绑定到一个用户,但是没有办法将此设备绑定到一个新用户。app.unregisterApplication()没有效果。

public void initialize() {
    final Application app = getApplication();

    if(app.getRegistrationStatus() != RegistrationStatus.REGISTERED) {
        app.registerApplication(TIMEOUT);
    }else{
        app.startConnection(TIMEOUT);
    }
    ...
}

private Application getApplication() {
    final Application app = Application.getInstance();                  
    if(! APPLICATION_ID.equals(app.getApplicationIdentifier())) {
        app.setApplicationIdentifier(APPLICATION_ID);
    }
    app.setApplicationContext(LoginActivity.this);

    ScannerAnbindungDB.setApplication(app);
    ScannerAnbindungDB.getSynchronizationProfile().setServerName(HOST);
    ScannerAnbindungDB.getSynchronizationProfile().setAsyncReplay(false);
    ScannerAnbindungDB.getSynchronizationProfile().setDomainName(DOMAIN_NAME);
    ScannerAnbindungDB.getConnectionProfile().setDomainName(DOMAIN_NAME);

    final ConnectionProperties connProps = app.getConnectionProperties();
    final LoginCredentials loginCredentials = new LoginCredentials(benutzername.getText().toString(), passwort.getText().toString());

    connProps.setLoginCredentials(loginCredentials);
    connProps.setServerName(HOST);
    connProps.setPortNumber(PORT);

    ScannerAnbindungDB.getSynchronizationProfile().save();
    ScannerAnbindungDB.getConnectionProfile().save();

    return app;
}

即使它已注册并且我使用app.startConnection()凭据也不会再次检查。

4

2 回答 2

2

这只是一个 android 模拟器问题 :-( 使用新的模拟器实例或真实设备app.unregisterApplication()可以正常工作。我的代码现在看起来像这样:

if(app.getRegistrationStatus() == RegistrationStatus.REGISTERED) {
    app.unregisterApplication(TIMEOUT);
}
app.registerApplication(TIMEOUT);

这意味着,当用户登录时,设备始终处于未注册状态。

于 2013-09-04T11:55:50.790 回答
0

多用户场景非常乏味,并且在投入生产环境时可能会遇到复杂性,我已经采取了一些步骤来应对这种复杂性,并且我在下表中列出了我遵循的东西所以,你必须遵循一些基础这里的规则除了注销之外,

SUP 中的多用户场景

于 2013-09-06T05:27:56.330 回答