2012-02-09 40 views
4

基本的には、バックグラウンドサービスからフォアグラウンドでポップアップを表示したいと思います(通知を使用する方がユーザーフレンドリーになると思いますが、ユーザーからの即時応答が必要です)。私は働いています。次に、android:theme="@android:style/Theme.Translucent.NoTitleBar"を使用してダイアログを含むアクティビティを定義します。サービスコードでサービスからフォアグラウンドへのアクティビティの開始

、私はこのようなダイアログ活動を開始します。

Intent intent = new Intent(getApplicationContext(), PopUpDialogActivity.class); 
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
startActivity(intent); 

私は私のアプリにいる場合、ダイアログがポップアップすることができます。しかし、私が自分のアプリケーションにない場合、ダイアログはフォアグラウンドでポップアップしません(私はそれを見るために私のアプリを入力する必要があります)。どうすればそれを直接ユーザーのフォーカスに入れることができますか?

+0

バックグラウンドサービスからの半透明アクティビティの開始に問題はないようですが、そのアプリケーションは現在アクティブなタスクではありません。サービスを開始するコードも提供できますか?あなたがアプリを離れるときにシャットダウンする可能性はありますか? – antonyt

+0

主なアクティビティでは、私はトグルボタンを持っているので、サービスを開始するコードは以下のようになります:if(togglebutton.isChecked()){startService(new Intent(getApplicationContext()、MyService.class));}このサービスでは、ダイアログアクティビティを開始するコードスニペットはonStartCommandで定義されています。 –

答えて

0

サービスがアクティビティにバインドされている場合は、アクティビティやアプリを終了するとサービスが終了します。サービスのバインドを解除してバインドするには、onPause()およびonResume()を使用して、終了/戻り時に終了しないようにします。

関連する問題