2014-05-06 81 views
0

我新學來實現分析用戶數據MGT。我想重新發送電子郵件驗證。研究之後,我得到的回答是安卓:重新發送電子郵件驗證解析用戶

「你可以‘升級’的電子郵件與同當前的電子郵件價值和用戶對象上的場再次保存,這將引發新的驗證郵件。」

怎麼辦?

回答

4

請注意,您只能修改一個ParseUser的屬性爲當前登錄出於安全原因之一。另外,請不要忘記在您的問題中缺少您的代碼的用戶請撥打save方法之一。

ParseUser user = ParseUser.getCurrentUser(); 
user.setEmail(user.getEmail()); 
user.saveInBackground(); 

docs

具體而言,你不能調用任何的保存或刪除 型方法,除非使用的身份驗證的 方法獲得的ParseUser,像登錄或註冊。這確保只有用戶可以更改他們自己的數據 。

所以你並不需要「查詢」用戶作爲用戶應該已經可以登錄了。

不過,如果你這樣做時或全球的用戶沒有登錄,您可能需要查看使用允許管理功能的雲功能。

對於您可以參考this這是指cloud code。我從來沒有用過Parse的那部分內容,所以如果這是你所需要的,我不能在那裏幫忙。


只是添加到這個偉大的答案。

如果你是新到Android /解析,這是一個很好的機會,也學習如何做「的背景 - 讓用戶等待」吧。這就是.saveInBackground

private void resendEmail() 
    { 
    ParseUser user = ParseUser.getCurrentUser(); 
    user.setEmail(user.getEmail()); 

    ... here, bring up a message saying 'we're contacting the cloud!' 

    user.saveInBackground(new SaveCallback() 
    { 
    public void done(ParseException e) 
    { 
    ... here, get rid of that message 

    if (e == null) 
     { 
     Utils.Log("resendEmail no problem."); 

     ... here, bring up a message like... 
     String un = ParseUser.getCurrentUser().getUsername(); 
     "We have resent the validation email to " +un +". Please check your email!" 
     } 
    else 
     { 
     int errCodeSimple = e.getCode(); 
     Utils.Log(", some problem: " + errCodeSimple); 

     ... here, bring up a message like... 
     "We could not reach the internet! Try again later!" 
     } 
    } 
    }); 

    } 

最後,這是一個驚人的Android相關技巧。當你創建一個帳戶時,你需要檢查它是否是一個「有效的」電子郵件。這需要iOS中的18,000行代碼,但在Android中只有代碼的一行代碼

maybeEmail = emailField.getText().toString(); 

if (!android.util.Patterns.EMAIL_ADDRESS.matcher(maybeEmail).matches()) 
    { 
    userAlert("Please a valid email, buddy!!!"); 
    return; 
    } 

希望它有助於某人。

+0

謝謝!它很簡單,但工作出色! – pearmak

相關問題