public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mContext = this;
setContentView(R.layout.activity_main);
tv_msg = (TextView)findViewById(R.id.textView1);
cb_setting = (CheckBox)findViewById(R.id.checkBox1);
cb_setting.setOnCheckedChangeListener(new OnCheckedChangeListener() {
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
// TODO Auto-generated method stub
//푸쉬 받기_레지스터 등록 및 키 발급 - 발급받은 Key 는 서버에 등록 해야 서버와 통신.
if(cb_setting.isChecked() == true){
Log.d("test","푸쉬 메시지를 받습니다.");
GCMRegistrar.checkDevice(mContext); //디바이스 GCM 사용가능한지 확인하는 메소드
GCMRegistrar.checkManifest(mContext); //매니페스트 설정이 올바른지 확인하는 메소드
if(GCMRegistrar.getRegistrationId(mContext).equals("")){
GCMRegistrar.register(mContext, PROJECT_ID);
}else{
//이미 GCM 을 상요하기위해 등록ID를 구해왔음
GCMRegistrar.unregister(mContext);
GCMRegistrar.register(mContext, PROJECT_ID);
}
}
//푸쉬 받지않기
else{
Log.d("test","푸쉬 메시지를 받지 않습니다.");
GCMRegistrar.unregister(mContext);
}
}
});
}
GCM을 테스트중입니다
최초로 registration아이디를 서버에 등록해서 PUSH알림이 잘되는데
checkbox로 수신여부를 선택하는데 false를 해도 수신이됩니다
찾아보니 서버에 ID가 등록되어있으니 무조건 수신이 된다는데
checkbox를 이용하여 수신가능 수신불가능 기능을 이용할수는 없나여?