在我的应用程序中,我使用DropBox SDK for Android。当我尝试在OnResunme方法中保存SharedPreference或SQLite数据库中的数据时,我收到了安全警告对话框“手机上的另一个应用可能正在尝试按照应用当前正在使用的姿势。”。我做错了什么。
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
logFragView = inflater.inflate(R.layout.fragemnt_login, container,
false);
helper = new UNLDBHelper(getActivity());
AppKeyPair appKeys = new AppKeyPair(APP_KEY, APP_SECRET);
AndroidAuthSession session = new AndroidAuthSession(appKeys);
mDBApi = new DropboxAPI<AndroidAuthSession>(session);
prefs = getActivity().getSharedPreferences(UNLConsts.UNL_PREFS,
Context.MODE_PRIVATE);
// String key = prefs.getString(PREFS_KEY, null);
// String secret = prefs.getString(PREFS_SECRET, null);
session = new AndroidAuthSession(appKeys);
mDBApi = new DropboxAPI<AndroidAuthSession>(session);
dbLoginBtn = (ImageView) logFragView.findViewById(R.id.dBoxLogBtn);
dbLoginBtn.setOnClickListener(this);
return logFragView;
}
@Override
public void onClick(View v) {
mDBApi.getSession().startOAuth2Authentication(getActivity());
}
@Override
public void onResume() {
super.onResume();
if (mDBApi.getSession().authenticationSuccessful()) {
try {
mDBApi.getSession().finishAuthentication();
AndroidAuthSession session = mDBApi.getSession();
if (session.authenticationSuccessful()) {
try {
session.finishAuthentication();
ContentValues cv = new ContentValues();
AccessTokenPair tokens = session.getAccessTokenPair();
cv.put("drBkey", tokens.key);
cv.put("drBsecret", tokens.secret);
helper.getWritableDatabase().insert("DB_AUTH_DATA",
null, cv);
} catch (IllegalStateException e) {
}
}
答案 0 :(得分:2)
此错误消息表示您的手机上安装了多个使用相同Dropbox应用密钥和密钥的应用。
答案 1 :(得分:0)
我使用了其他Dropbox应用中的数据。
答案 2 :(得分:0)
出现此错误。 删除具有相同CONSUMER_KEY的应用程序。