2013-12-20 3 views
0
void onReceive(Context context, Intent intent){ 
    try { 
     GoogleCloudMessaging gcm=GoogleCloudMessaging.getInstance(context); 
     Bundle bundle=intent.getExtras(); 
     sendNotification(); 
     showPage(); 
    } 
} 

Как вызвать showPage(), когда я нажимаю на push-уведомление, иначе он не должен звонить?Android: как вызвать функцию, когда я нажимаю на push-уведомление

+0

Извините, но я не могу понять, пожалуйста, уточните. – user3041276

+0

Как установить оповещение. –

+0

Проблема заключается в том, когда она возвращается из sendNotification(), она должна вызывать другую функцию (в моем showPage()) только тогда, когда я нажимаю на уведомление, иначе он не должен вызывать. – user3041276

ответ

0

Вы можете сделать что-то вроде

Intent intent = new Intent(this, DemoActivity.class); 
intent.putExtra("tag", 1); 
PendingIntent contentIntent = PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_CANCEL_CURRENT); 

это будет вызывать ваш DemoActivity. Теперь вам нужно получить намерение и проверить, есть ли еще Extras.

Intent intent = getIntent(); 
    if(intent.getIntExtra("tag", 0) == 1) { 
     showpage(); 
} 
+0

Предположим, что существуют два класса MainActivity и Gcm. В GCM у меня есть 3 функции -> showPage(), onReceive() sendNotification() // в sendNotification Я добавил Intent intent = new Intent (this, MainActivity.class); intent.putExtra ("tag", 1); но я на GCM.java, и я вызываю showPage() на GCM.java, и поэтому он показывает, что int.getExtra имеет значение null. – user3041276

+0

Что вы имеете в виду под «3 функциями»? – Leandros

+0

Звоните GCM.class с вашими намерениями, какова ваша проблема? – Leandros

Смежные вопросы