如何通过传递未决 Intent 从其前一个 activity 加载一个 activity?

How to load one activity from its previous activity, by passing pending Intent?

我是初学者,对不起,这可能是一个愚蠢的问题,但我不知道如何解决这个问题。 我的应用程序中有两个活动,第一个 Activity 和第二个,第一个 activity 将从图库或相机加载图像并在第二个 activity.In 的图像视图中显示第二个 activity 用户可以通过点击上传按钮将图片上传到服务器,上传过程中会出现通知进度对话框 progress.Users 可以随时点击通知进度条取消 upload.When 用户点击通知进度一个未决的意图就这样被传递了。

 public void ProgressBarNotification() {
    mNotifyManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
                mBuilder = new NotificationCompat.Builder(ImageUploadActivity.this);
                mBuilder.setContentTitle("Upload")
                        .setContentText("Upload in progress")
                        .setSmallIcon(R.drawable.ic_launcher);

    // mBuilder.setAutoCancel(true);
   Intent myIntent = new Intent(this, ImageUploadActivity.class);
    PendingIntent pendingIntent = PendingIntent.getActivity(ImageUploadActivity.this, 0, myIntent, Intent.FILL_IN_ACTION);
    mBuilder.setContentIntent(pendingIntent);

}

并且在 onNewIntenet 方法中将加载第二个 activity(ImageUploadActivity) 及其方法 initiatepopupwindow(),第二个 activity 将被加载,即使应用程序完全 minimized.All 这些工作正常。

 @Override
protected void onNewIntent(Intent intent) {
    super.onNewIntent(intent);
     new Intent(this, ImageUploadActivity.class);
    initiatePopupWindow();
    Toast.makeText(getApplicationContext(),
            "Upload ", Toast.LENGTH_SHORT).show();

}

我的问题是当我在第一个 activity( MainActivity) 并且当我点击通知进度条时,应用程序会崩溃并显示 Null Pointer Exception.I 知道问题在于第二个 activity 被杀死,因此未决意图不会传递给调用第二个 activity 及其 method.But
我需要的是,我想在用户点击通知进度时加载第二个 activity,我该如何解决这个问题,有人可以帮忙吗??

Logcat

07-03 11:06:20.595  31761-31761/? E/AndroidRuntime﹕ FATAL EXCEPTION: main
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.jbn.user.imagegallerydemo/com.jbn.user.imagegallerydemo.ImageUploadActivity}: java.lang.NullPointerException
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2110)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2135)
        at android.app.ActivityThread.access0(ActivityThread.java:140)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1237)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at android.os.Looper.loop(Looper.java:137)
        at android.app.ActivityThread.main(ActivityThread.java:4921)
        at java.lang.reflect.Method.invokeNative(Native Method)
        at java.lang.reflect.Method.invoke(Method.java:511)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1027)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:794)
        at dalvik.system.NativeStart.main(Native Method)
 Caused by: java.lang.NullPointerException
        at com.jbn.user.imagegallerydemo.ImageUploadActivity.onCreate(ImageUploadActivity.java:117)
        at android.app.Activity.performCreate(Activity.java:5206)
           android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1094)
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2074)

尝试替换

Intent.FILL_IN_ACTION

PendingIntent.FLAG_UPDATE_CURRENT

根据文档

This Flag indicating that if the described PendingIntent already exists, then keep it but replace its extra data with what is in this new Intent.