我正在使用Dropbox Core API SDK开发Android应用程序。我通过活动A对用户进行身份验证,并使用共享首选项将令牌存储在方法M中。我有一个服务S,负责上传到Dropbox并上传,S需要访问存储在共享首选项中的令牌。
问题在于,每当我尝试访问A中的M来访问令牌时,我都会得到一个空指针异常。
活动A
public void loadAuth(AndroidAuthSession session) {
SharedPreferences prefs = getSharedPreferences(ACCOUNT_PREFS_NAME, 0);
String key = prefs.getString(ACCESS_KEY_NAME, null);
String secret = prefs.getString(ACCESS_SECRET_NAME, null);
if (key == null || secret == null || key.length() == 0 || secret.length() == 0) return;
session.setOAuth2AccessToken(secret);
}
public void storeAuth(AndroidAuthSession session) {
String oauth2AccessToken = session.getOAuth2AccessToken();
if (oauth2AccessToken != null) {
SharedPreferences prefs = getSharedPreferences(ACCOUNT_PREFS_NAME, 0);
Editor edit = prefs.edit();
edit.putString(ACCESS_KEY_NAME, "oauth2:");
edit.putString(ACCESS_SECRET_NAME, oauth2AccessToken);
edit.commit();
return;
}
}
public AndroidAuthSession buildSession() {
AppKeyPair appKeyPair = new AppKeyPair(APP_KEY, APP_SECRET);
AndroidAuthSession session = new AndroidAuthSession(appKeyPair);
loadAuth(session);
return session;
}
服务S
公共类UploadService扩展了IntentService {
private static final String TAG = "UploadService";
DropboxAPI<AndroidAuthSession> mApi;
DropboxAuth dbAuth=new DropboxAuth();
@Override
protected void onHandleIntent(Intent arg0) {
AndroidAuthSession session = dbAuth.buildSession();
mApi = new DropboxAPI<AndroidAuthSession>(session);}}
我在AndroidAuthSession session = dbAuth.buildSession()获得Null指针异常; 请帮助。