以编程方式在Android中调用帐户和同步设置

时间:2012-09-03 14:18:28

标签: android google-cloud-messaging

我已经创建了一个使用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()函数中写什么请帮助。

1 个答案:

答案 0 :(得分:2)

我自己拿到了anser

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

谢谢你可能会对其他人有用。