0

Android のアクティビティについて質問があります。

最初の loginscreen(MainActivity) があり、そこから Secondscreen に移動します。今、secondscreen からエスケープ ボタンを押しているときに、アプリケーション (または Android ホーム画面) を閉じて、次回アプリケーションを開いて、secondscreen でアプリケーションを起動したい.

2 番目の画面でこのコードを試しましたが、機能しません

public boolean onKey(DialogInterface dialog, int keyCode, KeyEvent event) 
{
    if (keyCode == KeyEvent.KEYCODE_BACK || keyCode == KeyEvent.KEYCODE_ESCAPE)                                 
    {      

        //My logic here

        return true;
    } 
    return false;
}
4

5 に答える 5

1
  1. アプリケーションを初めて使用するときは、LoginScreen から始めて、finish() を呼び出します。また、アプリケーションが少なくとも 1 回使用されていることを知るために、共有設定を保存します (ログイン済み)

  2. LoginScreen を終了したので、SecondScreen で戻るボタンを押すと、LoginScreen ではなく、デバイスのホームに戻ります。

  3. 次にアプリケーションを起動するときは、sharedPreference でユーザーがログインしているかどうかを確認し、onCreate の開始直前で LoginScreen を終了します。

ログイン画面アクティビティ:

onCreate(){

//check shared preference if logged in
if(yes){

startActivity(new Intent(Login.this, Second.class));
finish();
}else{

//do all the login here then,
//set sharedPreference
startActivity(new Intent(Login.this, Second.class));
finish();
}

}
于 2013-02-06T05:28:41.527 に答える
0

その時点で2番目のアクティビティを開始したら、既存のアクティビティを次のように終了します。finish()

Intent intent = new Intent(this, SecondActivity.class);
startActivity(intent);
finish();

このコードは現在のアクティビティを終了し、2番目のアクティビティで戻るボタンを押すとアプリケーションが閉じます。

于 2013-02-06T05:20:02.387 に答える
0

2 番目のアクティビティを開始した後、ログイン アクティビティ コールが終了します。

startActivity(i);
finish();

もう一度押すとアプリが閉じ、もう一度アプリを起動すると 2 番目のアクティビティが表示されます。

于 2013-02-06T05:25:14.973 に答える
0

これを行うには、次の 2 つの方法があります。

  1. Androidのmenifestアクティビティ定義で「noHistory=true」を使用してログインアクティビティを作成します。

    <activity android:name="YOUR_FIRST_ACTIVITY"
    android:label="FIRST_ACTIVITY"
    android:noHistory="true" />
    
  2. 2 番目のアクティビティの開始時に、最初のアクティビティを finish() できます。

    startActivity(SECOND_ACTIVITY_INTENT);
    FIRST_ACTIVITY.this.finish();
    

それがあなたを助けることを願っています。

于 2013-02-06T05:29:44.930 に答える
0

以下のようなことを試みていると思います:

フリストのインストール#

LoginScreen>SecondScreen、エスケープを押すとアプリ全体が閉じます。

2回目#

アプリを開くと、loginScreen ではなく 2 番目の画面から開始されます。

解決

Phase1#

database or sharepreference初めてログインしたときにログイン情報をfinish()保存し、2 番目の画面を開いたときに loginscreen に保存します。

フェーズ2#

アプリを 2 回目に開いたときにcheck your login info、存在する場合は 2 番目のアクティビティにリダイレクトしますloginScreen

于 2013-02-06T05:35:36.483 に答える