Android DropBox登录问题

时间:2014-07-11 10:15:27

标签: java android dropbox-api

在我的应用程序中,我使用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) {
                        }
                    }

3 个答案:

答案 0 :(得分:2)

此错误消息表示您的手机上安装了多个使用相同Dropbox应用密钥和密钥的应用。

答案 1 :(得分:0)

我使用了其他Dropbox应用中的数据。

答案 2 :(得分:0)

出现此错误。 删除具有相同CONSUMER_KEY的应用程序。