我在APPWIDGET_CONFIGURE
注册了一项活动:
<activity android:name="com.tahanot.activities.NearbyStops">
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_CONFIGURE" />
</intent-filter>
</activity>
但是,此活动的行为与预期不符。它在现有堆栈内打开,当我按下Back按钮时,它会转到其他活动而不是关闭任务。理想情况下,我希望APPWIDGET_CONFIGURE
包含FLAG_ACTIVITY_NEW_TASK
和FLAG_ACTIVITY_MULTIPLE_TASK
。
是否可以在AndroidManifest.xml
中指定标记,如果没有,您会建议使用哪种解决方法?
答案 0 :(得分:1)
考虑将activityMode属性指定给activity元素。
<activity android:launchMode="singleTask" android:name="com.tahanot.activities.NearbyStops">
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_CONFIGURE" />
</intent-filter>
</activity>
FLAG_ACTIVITY_NEW_TASK
在新任务中启动活动。如果任务已在运行 你现在开始的活动,那个任务被带到了 前景及其最后一个状态恢复,活动接收到 onNewIntent()中的新意图。
这会产生与“singleTask” launchMode值相同的行为, 在上一节中讨论过。
因为你提到你想要FLAG_ACTIVITY_NEW_TASK
行为所以singleTask launchMode可能适合你。
答案 1 :(得分:0)
开始活动时使用此java代码
Intent intent = new Intent(this,
activityname.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
在这里你可以像这样添加你的意图对象的旗帜。
您还可以添加多个标记。
答案 2 :(得分:0)
这是我使用的清单声明,遵循appsroxcom对android的想法:launchMode:
<activity
android:name="com.tahanot.activities.NearbyStops"
android:configChanges="orientation"
android:label="@string/title_activity_stops_nearby"
android:launchMode="singleTop"
android:taskAffinity="com.tahanot.tasks.widgetConfiguration" >
<!-- android:launchMode makes sure the Back button doesn't navigate to another NearbyStops activity.
android:taskAffinity makes sure the Back button doesn't navigate to some other activity. -->
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_CONFIGURE" />
</intent-filter>
</activity>