返回false在我的活動:安卓:DbxAccountManager.hasLinkedAccount()總是在遠程服務
public class MainActivity extends Activity {
private mDbxAccountManager mDbxAccountManager = null;
...
@Override
public void onCreate(Bundle savedInstanceState) {
...
mDbxAccountManager = DbxAccountManager.getInstance(getApplicationContext(), getString(R.string.dbx_app_key), getString(R.string.dbx_app_secret));
...
}
...
public void buttonOnClick(View view) {
if(mDbxAccountManager.hasLinkedAccount()) {
//Do something
}
else {
mDbxAccountManager.startLink(this, 0);
}
...
}
}
而且在我的遠程服務:
public class CloudService extends Service {
private mDbxAccountManager mDbxAccountManager = null;
@Override
public void onCreate() {
...
mDbxAccountManager = DbxAccountManager.getInstance(getApplicationContext(), getString(R.string.dbx_app_key), getString(R.string.dbx_app_secret));
if(!mDbxAccountManager.hasLinkedAccount()) {
return;
stopSelf();
}
...
}
}
的結果是,當我聯繫我的應用程序dropbox使用已安裝的dropbox客戶端,我Activity上的hasLinkedAccount()返回true,同時Remote Service上的相同代碼總是返回false。
我也檢查logcat,它顯示我的應用程序已經與dropbox鏈接。
我的懷疑是Dropbox API在與我的應用程序成功鏈接時創建了一些SharedPreferences,但是我的Remote Service無法訪問它或獲取該SharedPreferences的緩存版本......我不知道......
請幫助...
謝謝
編輯: 如果我重新安裝應用程序,則預期的結果和hasLinkedAccount()返回true,但如果我卸載並重新引起安裝清除用戶數據,然後我再次將我的應用與Dropbox鏈接,然後是同樣奇怪的行爲r再次出現。 我做錯了什麼?我幾乎24小時轉過頭...