Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/215.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java addParentStack中的NameNotFoundException_Java_Android_Notifications_Package_Back Stack - Fatal编程技术网

Java addParentStack中的NameNotFoundException

Java addParentStack中的NameNotFoundException,java,android,notifications,package,back-stack,Java,Android,Notifications,Package,Back Stack,我正在尝试构建一个通知并显示它,同时也按照我显示的意图构建一个堆栈。但我有一个名字,不算例外 Intent resultIntent = new Intent(mContext, ForecastFragment.class); TaskStackBuilder stackBuilder = TaskStackBuilder.create(mContext); stackBuilder.addParentStack(ForecastFragment.class); stackBuilder.a

我正在尝试构建一个通知并显示它,同时也按照我显示的意图构建一个堆栈。但我有一个名字,不算例外

Intent resultIntent = new Intent(mContext, ForecastFragment.class);

TaskStackBuilder stackBuilder = TaskStackBuilder.create(mContext);
stackBuilder.addParentStack(ForecastFragment.class);
stackBuilder.addNextIntent(resultIntent);
PendingIntent resultPendingIntent = stackBuilder.
                    getPendingIntent(0, PendingIntent.FLAG_UPDATE_CURRENT);
mBuilder.setContentIntent(resultPendingIntent);
NotificationManager notificationManager =
                    (NotificationManager) mContext.getSystemService(Context.NOTIFICATION_SERVICE);
notificationManager.notify(10 ,mBuilder.build());
这是我得到的一个例外

3541-3562/com.example.android.sunshine.app E/AndroidRuntime: FATAL EXCEPTION: SyncAdapterThread-1
          Process: com.example.android.sunshine.app, PID: 3541
          java.lang.IllegalArgumentException: android.content.pm.PackageManager$NameNotFoundException: ComponentInfo{com.example.android.sunshine.app/com.example.android.sunshine.app.ForecastFragment}
             at android.support.v4.app.TaskStackBuilder.addParentStack(TaskStackBuilder.java:247)
             at android.support.v4.app.TaskStackBuilder.addParentStack(TaskStackBuilder.java:226)
             at com.example.android.sunshine.app.sync.SunshineSyncAdapter.notifyWeather(SunshineSyncAdapter.java:526)
             at com.example.android.sunshine.app.sync.SunshineSyncAdapter.getWeatherDataFromJson(SunshineSyncAdapter.java:424)
             at com.example.android.sunshine.app.sync.SunshineSyncAdapter.onPerformSync(SunshineSyncAdapter.java:255)
             at android.content.AbstractThreadedSyncAdapter$SyncThread.run(AbstractThreadedSyncAdapter.java:259)
          Caused by: android.content.pm.PackageManager$NameNotFoundException: ComponentInfo{com.example.android.sunshine.app/com.example.android.sunshine.app.ForecastFragment}
             at android.app.ApplicationPackageManager.getActivityInfo(ApplicationPackageManager.java:314)
             at android.support.v4.app.NavUtils.getParentActivityName(NavUtils.java:301)
             at android.support.v4.app.NavUtils.getParentActivityIntent(NavUtils.java:256)
             at android.support.v4.app.TaskStackBuilder.addParentStack(TaskStackBuilder.java:240)
             at android.support.v4.app.TaskStackBuilder.addParentStack(TaskStackBuilder.java:226) 
             at com.example.android.sunshine.app.sync.SunshineSyncAdapter.notifyWeather(SunshineSyncAdapter.java:526) 
             at com.example.android.sunshine.app.sync.SunshineSyncAdapter.getWeatherDataFromJson(SunshineSyncAdapter.java:424) 
             at com.example.android.sunshine.app.sync.SunshineSyncAdapter.onPerformSync(SunshineSyncAdapter.java:255) 
             at android.content.AbstractThreadedSyncAdapter$SyncThread.run(AbstractThreadedSyncAdapter.java:259)
我检查了包名和类
ForecastFragment
所在的包,但都是正确的。
有人能帮我整理一下吗。

片段不是一个组件,不能用于意图。只有
活动
服务
广播接收器
等组件才能用于构建
意图

因此,您的第一行(
newintent(mContext,ForecaseFragment.class)
)和
addParentStack(ForecastFragment.class)
都是无效的。您需要使用在包含该片段的清单中注册的
活动

TaskStackBuilder stackBuilder = TaskStackBuilder.create(mContext);
stackBuilder.addParentStack(ForecastFragment.class); // here give Activity name 
不是片段,而是附加片段的活动

样品

stackBuilder.addParentStack(MainActivity.class); 

谢谢你,这解决了我的问题。