このコードを使用して、サービスからアクティビティを動的に作成します。
マニフェスト:
<activity android:name="ServiceDialog" android:label="" android:theme="@android:style/Theme.Dialog" />
活動クラス:
public class ServiceDialog extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Intent intent=getIntent();
String text = "";
if(intent.hasExtra("text")) text = intent.getStringExtra("text");
AlertDialog.Builder alert = new AlertDialog.Builder(this);
alert.setTitle("Alert");
alert.setIcon(android.R.drawable.ic_dialog_info);
alert.setMessage(text);
alert.setPositiveButton(android.R.string.ok,
new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
ServiceDialog.this.finish();
}
});
alert.setOnCancelListener(new OnCancelListener() {
@Override
public void onCancel(DialogInterface arg0) {
ServiceDialog.this.finish();
}
});
alert.show();
}
}
活動の作成:
Intent intent = new Intent("android.intent.action.MAIN");
intent.setClass(this, ServiceDialog.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.putExtra("text", "Hello!");
startActivity(intent);
しかし、問題があります。このアクティビティがタスク マネージャーに表示されません ([ホーム] ボタンを押すと、アクティビティを再度開くことができません)。修正するにはどうすればよいですか?