Как отобразить диалоговое окно из службы service?
android-smspopup делает именно это.
Служба получает смс и запускает действие
с:
android:theme="@android:style/Theme.Dialog"
РЕДАКТИРОВАТЬ: диалоговое действие запускается здесь с этим кодом
private void notifyMessageReceived(SmsMmsMessage message) {
(...)
context.startActivity(message.getPopupIntent());
(...)
}
с getPopupIntent()
объявлен следующим образом (код здесь):
public Intent getPopupIntent() {
Intent popup = new Intent(context, SmsPopupActivity.class);
popup.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS);
popup.putExtras(toBundle());
return popup;
}
Класс SmsPopupActivity
, очевидно, определяет активность диалога. Он объявлен следующим образом в AndroidManifest.xml
:
<activity
android:name=".ui.SmsPopupActivity"
android:configChanges="keyboardHidden|orientation|screenSize"
android:launchMode="singleTask"
android:screenOrientation="user"
android:taskAffinity="net.everythingandroid.smspopup.popup"
android:theme="@style/DialogTheme" >
</activity>
В документации предлагается использовать уведомления. Переоцените, почему вам может понадобиться использовать диалоги. Чего вы пытаетесь достичь?