Android에서 푸시 알림을 사용하고 있습니다. 푸시 알림을 받고 그것을 클릭하면 원하는대로 활동을 시작하지만이 활동이 이미 열리지 않았다면 활동은 이전 데이터를 유지합니다.알림을 클릭하면 활동이 업데이트됩니다.
의 AndroidManifest.xml
<activity
android:name=".Detail"
android:configChanges="orientation|keyboardHidden|screenSize"
android:label="@string/title_activity_detail"
android:launchMode="singleTop"
android:parentActivityName=".Home"
android:theme="@style/Theme.AppCompat.Light.DarkActionBar" >
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="ma.via.marocagenda.Home" />
</activity>
GCMIntentService.java
public class GCMIntentService extends GCMBaseIntentService {
...
private static void generateNotification(Context context, String message) {
//int icon = R.drawable.abc_ic_go;
int icon = R.drawable.ic_launcher;
long when = System.currentTimeMillis();
NotificationManager notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
Notification notification = new Notification(icon, message, when);
String title = context.getString(R.string.app_name);
Intent notificationIntent = new Intent(context, Detail.class);
// put extra for details
notificationIntent.putExtra("id", VAL_TAG_ID);
notificationIntent.putExtra("titre", VAL_TAG_TITRE);
notification.defaults |= Notification.DEFAULT_SOUND;
notification.defaults |= Notification.DEFAULT_VIBRATE;
notification.defaults |= Notification.DEFAULT_LIGHTS;
notificationIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);
//PendingIntent intent = PendingIntent.getActivity(context, 0, notificationIntent, Intent.FLAG_ACTIVITY_NEW_TASK);
PendingIntent intent = PendingIntent.getActivity(context, 0, notificationIntent, 0);
notification.setLatestEventInfo(context, title, message, intent);
notification.flags |= Notification.FLAG_AUTO_CANCEL;
notificationManager.notify(0, notification);
}
무엇이 잘못 될 수 있는가?
무엇이 문제입니까? – suitianshi
"세부 사항"활동이 이미 시작된 경우 알림을 클릭해도 아무런 변화가 없으면 활동이 새 데이터로 업데이트되지 않습니다. – leonidas79
onNewIntent 무시? – Deucalion