使用Android中的解析SDK更改解析用户的密码

时间:2014-12-26 13:06:20

标签: android parse-platform passwords forgot-password

我正在开发Android应用程序并使用parse.com作为后端存储。但我坚持改变密码。我可以使用parse.com sdk将重置密码邮件发送到特定的电子邮件。但我想使用应用程序更改密码,而不使用旧密码enter code here

发送邮件的功能: -

public void resetPassword() {

    CustomProgressDialog.show(LoginActivity.this, "", getResources()
                              .getString(R.string.please_wait));

    ParseUser.requestPasswordResetInBackground("test@gmail.com",
        new RequestPasswordResetCallback() {
            public void done(ParseException e) {
                CustomProgressDialog.dismissMe();

                if (e == null) {
                    // An email was successfully sent with reset
                    // instructions.
                    Toast.makeText(getApplicationContext(), getResources().getString(R.string.reset_password_sent), Toast.LENGTH_LONG).show();
                } else {
                    // Something went wrong. Look at the ParseException
                    // to see what's up.
                    Toast.makeText(getApplicationContext(), getResources().getString(R.string.reset_password_fail), Toast.LENGTH_LONG).show();
                }
            }
        }
    );
}

还可以使用AndroidManifest.xml中的权限声明从邮件启动应用程序。

1 个答案:

答案 0 :(得分:4)

您可以使用下一个方法ParseUser.setPassword()

接下来的想法是,如果用户已登录,则您无需检查旧密码,因为它已由Parse.com输入并应用。因此,您将有2个字段New PasswordConfirm New Password。用户输入它们,应用程序将其更改为服务器。

ParseUser parseUser = ParseUser.getCurrentUser();
parseUser.setPassword(password);
parseUser.saveInBackground(new SaveCallback() {
    @Override
    public void done(ParseException e) {
        if (null == e) {
            // report about success
        } else {
            // report about error 
        }
    }
});