如何覆盖通知的onclick

时间:2014-07-22 06:52:22

标签: android notifications push-notification parse-platform

我正在使用parse.com向我的应用程序发送推送通知。

我收到通知,显示正常。

我想要一个对话框显示我何时收到通知,其中显示了一些数据,然后是用户选择肯定响应以从我的应用程序打开活动。

我面临的问题是,当屏幕解锁并打开时,会出现对话框。但是如果屏幕被锁定则没有。点击通知后,它会自行打开我的启动器活动。

无论如何都要在托盘通知中覆盖通知的onclick事件?

我用这个例子作为参考。

https://github.com/ahiraz/pushNotificationDemo

public class MyCustomReceiver extends BroadcastReceiver {
    private static final String TAG = "MyCustomReceiver";
    GPSTracker gps;
    @Override
    public void onReceive(Context context, Intent intent) {
        try {
            if (intent == null)
            {
                Log.d(TAG, "Receiver intent null");
            }
            else
            {
                String action = intent.getAction();
                Log.d(TAG, "got action " + action );




                if (action.equals("com.epcon.helpmebangalore.activities.UPDATE_STATUS"))
                {
                    String channel = intent.getExtras().getString("com.parse.Channel");
                    JSONObject json = new JSONObject(intent.getExtras().getString("com.parse.Data"));

                    Log.d(TAG, "got action " + action + " on channel " + channel + " with:");

                            Intent pupInt = new Intent(context, ShowPopUp.class);
                            pupInt.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK );

                            context.getApplicationContext().startActivity(pupInt);

                }
            }

        } catch (JSONException e) {
            Log.d(TAG, "JSONException: " + e.getMessage());
        }
    }

}

1 个答案:

答案 0 :(得分:-1)

试试这个:

Intent notifyIntent = new Intent(context,YourActivityClassHere.class);
    notifyIntent.setFlag(Intent.FLAG_ACTIVITY_NEW_TASK);
    //UNIQUE_ID if you expect more than one notification to appear
    PendingIntent intent = PendingIntent.getActivity(SimpleNotification.this, UNIQUE_ID, 
                notifyIntent, PendingIntent.FLAG_UPDATE_CURRENT);