サーバーからプッシュ メッセージを取得するために 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() 関数に何を書けばいいのか教えてください。