How to copy data from Intent in BroadcastReceiver in a new one in Android?
<p>Here is the following code:</p>

<pre><code>public class NotificationsReceiver extends BroadcastReceiver {
    public static final String INTENT_EXTRA_NOTIFICATION_INFO="intent_extra_notification_info";

    @Override
    public void onReceive(Context context, Intent intent) {
        NotificationInfo info=(NotificationInfo)intent.getSerializableExtra(INTENT_EXTRA_NOTIFICATION_INFO);
        NotificationTextInfo fields=DataSourceWrapper.getInstance().getNotificationTextInfo(info);
        NotificationManager manager=(NotificationManager)context.getSystemService(Context.NOTIFICATION_SERVICE);
        Notification notification=new Notification(android.R.drawable.alert_dark_frame, "1", info.getId());
        notification.when=new Date().getTime();
        notification.setLatestEventInfo(context, fields.getTitle(), fields.getDescription(), null);
        manager.notify((int)info.getId(), notification);
    }
}
</code></pre>

<p><code>BroadcastReceiver</code> exists for <code>AlarmManager</code>. 
When it works for the first time all is good, but when it executes for the second time it shows a <code>NullPointerException</code> in a row when I get some info from <code>Intent</code>, therefor <code>Intent</code> will be clear after the first executing. </p>

<p>Now my question is: How can I copy data from <code>Intent</code> into a new one in order to fix <code>NullPointerException</code>?</p>

<p>Logcat:</p>

<pre><code>01-23 17:00:00.578: E/receiver(8442): receive
01-23 17:00:00.608: E/AndroidRuntime(8442): FATAL EXCEPTION: main
01-23 17:00:00.608: E/AndroidRuntime(8442): java.lang.RuntimeException: Unable to start receiver com.ulnda.mypsych.receivers.NotificationsReceiver: java.lang.NullPointerException
01-23 17:00:00.608: E/AndroidRuntime(8442):     at android.app.ActivityThread.handleReceiver(ActivityThread.java:2408)
01-23 17:00:00.608: E/AndroidRuntime(8442):     at android.app.ActivityThread.access$1500(ActivityThread.java:139)
01-23 17:00:00.608: E/AndroidRuntime(8442):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1321)
01-23 17:00:00.608: E/AndroidRuntime(8442):     at android.os.Handler.dispatchMessage(Handler.java:99)
01-23 17:00:00.608: E/AndroidRuntime(8442):     at android.os.Looper.loop(Looper.java:154)
01-23 17:00:00.608: E/AndroidRuntime(8442):     at android.app.ActivityThread.main(ActivityThread.java:4945)
01-23 17:00:00.608: E/AndroidRuntime(8442):     at java.lang.reflect.Method.invokeNative(Native Method)
01-23 17:00:00.608: E/AndroidRuntime(8442):     at java.lang.reflect.Method.invoke(Method.java:511)
01-23 17:00:00.608: E/AndroidRuntime(8442):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
01-23 17:00:00.608: E/AndroidRuntime(8442):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
01-23 17:00:00.608: E/AndroidRuntime(8442):     at dalvik.system.NativeStart.main(Native Method)
01-23 17:00:00.608: E/AndroidRuntime(8442): Caused by: java.lang.NullPointerException
01-23 17:00:00.608: E/AndroidRuntime(8442):     at com.ulnda.mypsych.db.DataSourceWrapper.getNotificationTextInfo(DataSourceWrapper.java:68)
01-23 17:00:00.608: E/AndroidRuntime(8442):     at com.ulnda.mypsych.receivers.NotificationsReceiver.onReceive(NotificationsReceiver.java:27)
01-23 17:00:00.608: E/AndroidRuntime(8442):     at android.app.ActivityThread.handleReceiver(ActivityThread.java:2397)
01-23 17:00:00.608: E/AndroidRuntime(8442):     ... 10 more
</code></pre>
