带有TaskStackBuilder.addParentStack的Android parentActivityName已停止使用API 21(棒棒糖)
在从小部件打开应用程序时,我使用此代码设置后台堆栈导航带有TaskStackBuilder.addParentStack的Android parentActivityName已停止使用API 21(棒棒糖),android,Android,在从小部件打开应用程序时,我使用此代码设置后台堆栈导航 Intent intent = new Intent(context, ComposeActivity.class); // Create an Intent to launch ComposeActivity intent.setFlags(Intent.FLAG_ACTIVITY_MULTIPLE_TASK); TaskStackBuilder stackBuilder = TaskStackBuilder.create(cont
Intent intent = new Intent(context, ComposeActivity.class);
// Create an Intent to launch ComposeActivity
intent.setFlags(Intent.FLAG_ACTIVITY_MULTIPLE_TASK);
TaskStackBuilder stackBuilder = TaskStackBuilder.create(context);
// Adds the back stack
stackBuilder.addParentStack(ComposeActivity.class);
// Adds the Intent to the top of the stack
stackBuilder.addNextIntent(intent);
// Gets a PendingIntent containing the entire back stack
PendingIntent pendingIntent = stackBuilder.getPendingIntent(0, PendingIntent.FLAG_UPDATE_CURRENT);
// Get the layout for the App Widget and attach an on-click listener to the button
RemoteViews recordButtonImageView = new RemoteViews(
context.getPackageName(), R.layout.record_widget
);
recordButtonImageView.setOnClickPendingIntent(
R.id.record_button, pendingIntent
);
这是我的AndroidManifest.xml定义
<activity
android:name=".activities.ComposeActivity"
android:label="@string/compose_activity"
android:parentActivityName=".activities.MyFeedActivity"
android:screenOrientation="portrait"
android:theme="@android:style/Theme.Holo.NoActionBar">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value=".MyFeedActivity"/>
</activity>
它对API14-20非常有效,但对API21却不起作用
我做错了什么?我们最近遇到了同样的问题
这似乎是
com.android中的一个bug。support:support-v4:21.0.+
。使用最新发布的版本22,它再次工作,即使在cangelog中没有提到更改。我们最近遇到了同样的问题
这似乎是
com.android中的一个bug。support:support-v4:21.0.+
。使用最近发布的版本22,它再次工作,即使在cangelog中没有提到更改。我遇到了同样的问题。当我在方法getpendingent
中更改requestCode
参数时,问题就解决了。似乎requestCode
必须大于0。
所以你可以改变
PendingEvent PendingEvent=stackBuilder.GetPendingEvent(0,PendingEvent.FLAG_UPDATE_CURRENT);
到
PendingEvent PendingEvent=stackBuilder.GetPendingEvent(1,PendingEvent.FLAG_UPDATE_CURRENT);
我遇到了同样的问题。当我在方法getpendingent
中更改requestCode
参数时,问题就解决了。似乎requestCode
必须大于0。
所以你可以改变
PendingEvent PendingEvent=stackBuilder.GetPendingEvent(0,PendingEvent.FLAG_UPDATE_CURRENT);
到
PendingEvent PendingEvent=stackBuilder.GetPendingEvent(1,PendingEvent.FLAG_UPDATE_CURRENT);
你有没有想过这个问题?选择的答案似乎没有解决这个问题,我们正在使用22.2.0,但仍然在棒棒糖上看到这个问题。23.0.0也有同样的问题。我正在安卓电视(OS5.1.1)上测试,但它不工作。甚至尝试用CATEGORY_LEANBACK_启动器替换CATEGORY_启动器,但没有结果。任务后台堆栈似乎创建正常,有两个意图,但后台操作不起作用。在这上面没有发现任何安卓错误,你有没有登录过?你有没有发现?选择的答案似乎没有解决这个问题,我们正在使用22.2.0,但仍然在棒棒糖上看到这个问题。23.0.0也有同样的问题。我正在安卓电视(OS5.1.1)上测试,但它不工作。甚至尝试用CATEGORY_LEANBACK_启动器替换CATEGORY_启动器,但没有结果。任务后台堆栈似乎创建正常,有两个意图,但后台操作不起作用。没有发现任何安卓错误,你有没有登录过?有!你用这个小片段救了我的命和很多重要的合同。先生,您的支票已经寄出了!对你用这个小片段救了我的命和很多重要的合同。先生,您的支票已经寄出了!