4

私はMSOfficeに似たパッケージとしてアプリのグループを構築しています。ここでは、各アプリに独自のランチャーがあり、ホームアプリ内から起動できます。各アプリにはログインページがあります。Androidランチャーからアプリを起動したときにログインページを表示する必要がありますが、ホームアプリから起動したときにログインページが表示されません。どうすればこれを実現できますか?

私のシナリオ:

ランチャーから----->(アプリ)ログインページ--->(アプリ)ホーム画面

ホームアプリから----->(アプリ)ホーム画面

4

3 に答える 3

11

activity(UIなし)を起動し、そのOnCreateメソッドでいくつかの変数情報に応じて(SharedPreferencesおそらくその目的で使用できます)、どちらActivityを開始するか(ログインまたはホーム画面アプリ)を決定できます。

PS:

ところで、ログインが常に同じアクティビティにつながる場合 (ホーム画面で、他の場所にログインするために使用されない)、空のアクティビティは必要ありませんOncreate。ログイン アクティビティのメソッドでこれを確認できます。

protected void onCreate(Bundle savedInstanceState)
  {
    super.onCreate(savedInstanceState);

    if (logged_in_check_is_true)
       { 
          Intent intent = new Intent(this, HomeScreenActivity.class);
          this.startActivity (intent);
          this.finishActivity (0);
       }

    ...
于 2012-10-12T05:38:17.287 に答える
1

常に開始する必要がありますLoginPageActivity。ただし、「ホームアプリ」から開始する場合は、特別なエクストラを activtiy に渡すだけです。

public class LoginPageActivity extends Activity {
    onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        boolean needLogin = getIntent().getBooleanExtra("need login extra", true);
        if (!needLogin)
        { 
            // start your home screen
        }
        //setup login page
    }
}

ホームアプリでは、「need login extra」を false として渡すだけです。

于 2012-10-12T05:43:07.353 に答える
1

基本的に tozka が言ったことに似ていますが、より頻繁に必要になると予想されるアクティビティを起動し、onCreate で適切なアクティビティにいるかどうかを確認することもできます。以前にビューなどを膨らませることなく、他のアクティビティで startActivity を呼び出さない場合。したがって、期待が正しければ、50% 以上のケースで、起動時に呼び出される 2 つのアクティビティからアプリを保存する適切なアクティビティに既に入っています。

于 2012-10-12T05:43:44.740 に答える