2016-05-18 7 views
0

私のアプリケーションにアクティビティAがあり、アクティビティB、C、Dなどアクティビティがありません。アクティビティAの異なるクリックですべてが開きます。 私の要件は、毎回「ピンを入力」ダイアログボックスを表示することですアプリは、外部から(最初にアプリを起動し、画面をロック解除し、一時停止後にアプリを再開したり、他のアプリを使用して)開くことができます。ダイアログボックスを表示するタイミング

しかし、他のアクティビティ(B、C、Dなど)を開いて閉じるときにダイアログボックスが表示されるはずがありません。

どちらの場合でも、onPause-> onStop-> onRestart-> onResumeが呼び出されます。 だから、どのように私は、ユーザーがアプリの外か行ってきましたし、ここで、iは(私のdialog.showを置くべきかどうかということを区別すべきである)

+0

あなたはいくつかのコード – Haroon

+0

@ハロン私はまだコードを書いていない、私は今すぐデータフローを把握している可能性があります – user3024990

+0

あなたはダイアログを表示するすべてのコードがアクティビティAに行くとオッター活動 – Haroon

答えて

0

Activity Aでは、このよう

@override 
onCreate(){ 
SharedPreferences.Editor editor = getSharedPreferences(PREFS_NAME, MODE_PRIVATE).edit(); 
    editor.putBoolean("isRunning", true); 
    editor.commit(); 
} 

@override 
onStop(){ 
    SharedPreferences.Editor editor = getSharedPreferences(PREFS_NAME, MODE_PRIVATE).edit(); 
    editor.putBoolean("isRunning", false); 
    editor.commit(); 
} 

onResume()チェックしてくださいprefと入力してtrueを入力し、ダイアログを表示します。

@override 
onResume(){ 

SharedPreferences pref = getSharedPreferences(PREFS_NAME, MODE_PRIVATE); 
if(pref.getBoolean("isRunning",false)){ 
    //Show your dialog here 
} 

} 

注:私はお詫びします。エディタに直接書かれています。これをIDEで編集しますが、このロジックを使用してください。

+0

申し訳ありませんが、これは解決策ではありません、私はここで解決策を見つけました[link](http://www.mjbshaw.com/2012/12/determining-if-your-android-application .html)、あなたの時間に感謝します。 – user3024990

+0

@ user3024990そのok ...しかし、いくつかの知識を持っています。それをそのまま残す..あなたが解決策を見つけたことを聞いてうれしい。 –

関連する問題