1

SUP (Sybase Unwired Platform 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 に答える