8

Android で単一のアクティビティの複数のインスタンスを作成することは可能ですか?

現在、次のコードを使用して、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);

これにより、アクティビティを正常に開始できます。

ただし、1秒間呼び出すと、新しいアクティビティを作成してスタックに配置するのではなく、既に作成されたアクティビティに戻ります。

スタックに 2 つまたは 3 つのアクティビティがあり、ユーザーがホーム、戻るボタンなどを使用してそれらを切り替えることができるように、アクティビティを複数回作成できるようにしたいと考えています。

これは可能ですか?もしそうなら、私は何が間違っていますか?

4

2 に答える 2

8

ただし、1秒間呼び出すと、新しいアクティビティを作成してスタックに配置するのではなく、既に作成されたアクティビティに戻ります。

マニフェストを変更android:launchModeして、目標を妨げている属性を追加した可能性があります。デフォルトでは、アクティビティを開始すると、新しいインスタンスが開始されます。

また:

  • myIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);ここに書いたことに基づいて新しいタスクが必要ないため、を取り除きます
  • contextはおそらく であるため、なぜすべての/Contextを通過するのかわかりませんContextWrappergetBaseContext()
于 2010-07-01T12:25:40.757 に答える