我已经制作了一个应用程序,它使用 GCM 推送消息框架从服务器获取推送消息。但问题是如果 Google 帐户未在设备中同步,应用程序将无法在 GCM 服务器上注册。所以我想要通知用户首先要同步一个帐户才能继续。
我可以使用以下代码获取帐户是否已同步:
AccountManager am = AccountManager.get(this);
Account[] accounts = am.getAccountsByType("com.google");
boolean syncEnabled = ContentResolver.getSyncAutomatically(accounts[0], ContactsContract.AUTHORITY);
Log.d("ACCOUNT SYNC", "syncStatusofaccount"+syncEnabled);
if(!syncEnabled){
setContentView(R.layout.login);
AlertDialog alertForAccounrtSync=new AlertDialog.Builder(this).create();
alertForAccounrtSync.setTitle("Account Sync");
alertForAccounrtSync.setMessage("Sync your Gmail Account before proceed");
alertForAccounrtSync.setCancelable(false);
alertForAccounrtSync.setButton("Sync Account", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
}
});
alertForAccounrtSync.show();
现在按下按钮我只想直接调用帐户和同步设置,这样对用户来说将是一个很好的体验。
但问题是如何?我应该在 Onclick() 函数中写什么请帮助。