我已经创建了一个使用GCM推送消息传递框架从服务器获取推送消息的应用程序。但问题是如果谷歌帐户未在设备中同步,应用程序将无法在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()函数中写什么请帮助。
答案 0 :(得分:2)
我自己拿到了anser
Intent intent=new Intent(Settings.ACTION_SYNC_SETTINGS);
startActivity(intent);
谢谢你可能会对其他人有用。