繁体   English   中英

推送通知Android GCM

[英]Push notification android GCM

我是android应用的初学者。

我找到了本教程 ,它可以正常工作,但是权限为GET_ACCOUNTS ,运行应用程序时,会显示名称和电子邮件的输入。 我如何仅从GET_ACCOUNTS进行更改而无需输入名称和电子邮件? 我不明白 有人可以解释吗?

在上一个APK中,我遇到了同样的问题。 但是我在这个答案中找到了。

我希望它有用

在清单中检查权限:

<uses-permission android:name="android.permission.GET_ACCOUNTS" />

并在方法中:

public String getEmail(){
    String possibleEmail= "no email";
    Pattern emailPattern = Patterns.EMAIL_ADDRESS; // API level 8+
    Account[] accounts = AccountManager.get(ctx).getAccounts();
    for (Account account : accounts) {
        if (emailPattern.matcher(account.name).matches()) {
            possibleEmail = account.name;              
        }
    }

    return possibleEmail;

}

在示例中更改为:

protected void onRegistered(Context context, String registrationId) {
    Log.i(TAG, "Device registered: regId = " + registrationId);
    displayMessage(context, "Your device registred with GCM");
    Log.d("NAME", MainActivity.name);
    ServerUtilities.register(context, MainActivity.name, getEMail(), registrationId);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM