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 に答える