Извините за мой английский. Я создаю пользовательские уведомления (используйте parse.com и lib). Я хочу так: я получаю уведомления -> нажмите эту кнопку -> открыть новую активность. Я трачу много раз, чтобы исправить это, но не имел успеха. Мой код:Невозможно открыть активность onPushOpen (parse.com)
public class Receiver extends ParsePushBroadcastReceiver {
NotificationCompat.Builder mBuilder;
int mNotificationId = 001;
@Override
public void onPushOpen(Context context, Intent intent) {
ParseAnalytics.trackAppOpenedInBackground(intent);
Intent i = new Intent(context, Main.class);
i.putExtras(intent.getExtras());
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(i);
}
@Override
public void onReceive(Context context, Intent intent) {
PendingIntent resultPendingIntent = PendingIntent.getActivity(context,
0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
PowerManager pm = (PowerManager) context.getSystemService(Context.POWER_SERVICE);
PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.FULL_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP, "TAG");
wl.acquire(15000);
mBuilder = new NotificationCompat.Builder(context);
mBuilder.setVibrate(new long[]{1000, 1000});
mBuilder.setSmallIcon(R.drawable.icon); //You can change your icon
mBuilder.setContentText("Content");
mBuilder.setContentTitle("Title");
mBuilder.setSound(Uri.parse("android.resource://" + context.getPackageName() + "/" + R.raw.beep1));
mBuilder.setAutoCancel(true);
mBuilder.setContentIntent(resultPendingIntent);
NotificationManager notificationManager = (NotificationManager) context
.getSystemService(context.NOTIFICATION_SERVICE);
notificationManager.notify(mNotificationId, mBuilder.build());
}
}
Manifest
<receiver android:name=".Receiver"
android:exported="false">
<intent-filter>
<action android:name="com.parse.push.intent.RECEIVE" />
<action android:name="com.parse.push.intent.DELETE" />
<action android:name="com.parse.push.intent.OPEN" />
</intent-filter>
</receiver>