0

我已经制作了一个应用程序,它使用 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() 函数中写什么请帮助。

4

1 回答 1

2

我自己得到了分析器

Intent intent=new  Intent(Settings.ACTION_SYNC_SETTINGS);
startActivity(intent);

谢谢你,它可能对其他人有用。

于 2012-09-03T14:22:56.230 回答