2 つのアクティビティがありますが、アプリケーションの開始時に条件を適用したいと考えています。一方が true の場合は最初のアクティビティを開始し、そうでない場合は 2 番目のアクティビティを開始します。現在、いくつかの歓迎すべきものを表示し、バックグラウンドで値を調べる 3 番目のアクティビティを開始して、適切なアクティビティが呼び出されるようにしています。これを行うには、標準的な方法が必要だと思います。平和。
質問する
292 次
2 に答える
2
Activity
状態をチェックするのに 3 分の 1 は必要ありません。
MAIN/LAUNCHERActivity
が最初に実行することとしてonCreate(...)
(ただし を呼び出した後にsuper.onCreate(...)
) 状態をチェックするだけの場合、続行するかstartActivity(...)
、もう一方Activity
を呼び出して、すぐfinish()
に自己終了を呼び出すことができます。
そうすれば、条件によって 2 番目を開始する必要がある場合、最初のものActivity
が表示されることはありませんActivity
。
例..
public class FirstActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Don't even set the content view at this point
// we want to be invisible for the moment
// Pseudo-code check for condition
if (!runMe) {
Intent i = new Intent(this, SecondActivity.class);
startActivity(i);
finish();
}
else {
// Continue as normal
setContentView(R.layout.main);
...
}
}
}
于 2012-08-25T19:37:32.230 に答える
2
マニフェストで開始アクティビティを指定する必要があるため、いつでも最初のアクティビティを開始し、条件を確認して、onCreate()
2 番目のアクティビティを開始する必要がある場合は、2 番目のアクティビティを開始して最初のアクティビティを呼び出すことができますfinish()
。
それ以外の場合は、通常、スプラッシュ アクティビティを使用して、起動時にすべての条件を確認します (これが現在の解決策です)。
于 2012-08-25T04:40:47.197 に答える