0

次の問題があります。

Android の HOME キーを押すと、「デスクトップ」とアプリのアイコンが表示されます。次に、アプリのアイコンを押すと、アプリケーションが 2 回起動します。アプリを 2 回開きたくありません。

私のプログラムの仕組み:

4 つのアクティビティ (A、B、C、D) があります。

A - メイン アクティビティ: 最初に開くアクティビティです。ボタンがたくさんある他のアクティビティを開きます。Java の main() メソッドのようなものです。SplashScreen を表示し、別のアクティビティを呼び出します。次に、アクティビティ「A」を終了します。

B - メニュー画面: このアクティビティには、メニューのようなボタンがいくつかあります。構成ボタン、更新ボタン、およびログイン ボタンがあります。ログインボタンをクリックすると、このアクティビティが終了し、ログイン画面が開きます (アクティビティ「C」)。

C - ログイン画面: ユーザーはログインとパスワードを書き込みます。ログインが成功したら、このアクティビティを終了し、アクティビティ「D」を開きます。

D - アプリケーションのメイン画面: 常に開いたままになり、別のアクティビティを起動します。アプリケーションを閉じたいときにこれを終了します。

PS: launchMode フラグ (androidManifest.xml) を変更しようとしましたが、うまくいきませんでした。

私の AndroidManifest.xml 怒鳴る:

<application android:label="@string/app_name" android:icon="@drawable/icon" android:name="MyApplication">
    <activity android:name="A"
              android:label="@string/app_name"
              android:configChanges="orientation">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity android:name="br.com.site.B" android:label="@string/app_name" />
    <activity android:name="br.com.site.C" android:label="@string/app_name" />
    <activity android:name="br.com.site.D" android:label="@string/app_name" />
</application>

そして、これは私のアクティビティ「A.java」ソースです:

public class A extends Activity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        finish();
        startActivity(new Intent(this, AtualizaDadosFrame.class));
    }
}

アプリを 2 回開きたくありません。

前もって感謝します!

4

3 に答える 3

2

アプリを最初に (初めて) IDE (Eclipse や IntelliJ など) から起動したと仮定します。その場合、これは Android の既知のバグです ( http://code.google.com/p/android/issues/detail?id=26658を参照)。多くの人がこの問題を追って何日も苦労してきました :-(

launchMode を変更しないでください。これは、この問題を解決する正しい方法ではありません。ほとんどの場合、デフォルト (標準) の launchMode が機能します。

編集 (回避策へのリンクを追加):

この問題の簡単な回避策は、http://code.google.com/p/android/issues/detail?id=2373#c21にあります。

于 2012-05-22T16:01:36.773 に答える
0

で目的の起動モードを設定する必要がありますAndroidManifest.xml

于 2012-05-22T15:38:33.733 に答える
0

これを制限することができます.....下のリンクから進んでください。

ホームキーの押下動作

于 2012-05-22T15:58:02.190 に答える