是否可以在基于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()
,也不会再次检查凭据。
答案 0 :(得分:2)
这只是一个Android模拟器问题:-(使用新的模拟器实例或真实设备app.unregisterApplication()
工作正常。我的代码现在看起来像这样:
if(app.getRegistrationStatus() == RegistrationStatus.REGISTERED) {
app.unregisterApplication(TIMEOUT);
}
app.registerApplication(TIMEOUT);
这意味着,当用户登录时,设备始终处于未注册状态。
答案 1 :(得分:0)
多用户场景安静乏味,在投入生产环境时可能会遇到复杂问题,我已经按照一些步骤来应对这些复杂问题,并列出了我在下表中所遵循的内容所以,你必须遵循一些基本规则,而不仅仅是取消注册,