我希望有一个针对android 2.1,api级别7的应用程序,当用户点击一个c2dm通知时,它能同时启动多个活动。这是我当前用于启动活动的方法:
public static PendingIntent getActivity (Context context, int requestCode, Intent intent, int flags)
此方法只允许我在堆栈上放置一个活动。我真正想做的是使用这种方法:
public static PendingIntent getActivities (Context context, int requestCode, Intent[] intents, int flags)
此方法报告它仅适用于API级别11,即Android 3.0。我不想破坏与2.1的向后兼容性。有谁能建议我如何在不依赖android 3.0的情况下实现这个效果?我试过用这种新方法,但似乎还没有。
最佳答案
您要做的是有一个单独的活动作为警报的目标,并从那里构建意图堆栈,如下所示。这可能很容易被概括成类似“getactivities”的东西——可惜它不在compat库中。
public class AlarmActivity extends Activity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Intent intent = new Intent(this, MainActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
intent = new Intent(this, ChildActivity.class);
startActivity(intent);
finish();
}
}