【发布时间】:2013-05-16 10:16:23
【问题描述】:
我想知道是否可以在 Android 中创建单个 Activity 的多个实例?
我目前使用以下代码为 Voip 测试启动自己的 inCall 屏幕:
public void initInCallScreen(String pName, String phoneNumber, int contactID, boolean
callDirection, int lineID){
//starts in callScreen dialog
final Intent myIntent = new Intent(context, CallDialogActivity.class);
myIntent.putExtra("NAME", pName);
myIntent.putExtra("NUMBER", phoneNumber);
myIntent.putExtra("ID", contactID);
myIntent.putExtra("CALLTYPE", callDirection); //True = Incoming, False = Outgoing
myIntent.putExtra("LINEID", lineID);
myIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(myIntent);
这让我可以正常启动 Activity。
但是,当我调用它一秒钟时,它只是返回到已经创建的 Activity,而不是创建一个新的 Activity 并将其放入堆栈。
我希望能够多次创建活动,以便我在堆栈上有两个或三个活动,并且用户可以使用主页、后退按钮等在它们之间切换...
这可能吗?如果可以,我做错了什么?
【问题讨论】:
-
我没有做适当的研究,但根据你的描述,我猜
CallDialogActivity属于single top启动模式,在这种情况下,我认为你可以做的不多做。如果没有明确指定,它将默认为您请求的行为... -
有没有办法检查是不是单顶?
-
@DonalRafferty 你能解决这个问题吗..?
标签: android android-activity multiple-instances