1. 程式人生 > >android Service中啟動Dialog

android Service中啟動Dialog

ams onclick finish ble 實現 dsm new app params

在Service 中彈出Dialog與在Activity中彈出Dialog的方式一樣,可是activity finish後,dialog也會隨著關閉。他是依附著activity的。在Service中就不一樣了,Service沒有界面,言彈出Dialog。他依附什麽呢?

首先,看看在Service中怎樣彈出對話框:

dialog = new AlertDialog.Builder(ctx).create();
			dialog.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT); 
			dialog.show();
			Window window = dialog.getWindow();
			window.setContentView(R.layout.exit_dialog);
			Button ok = (Button) window.findViewById(R.id.sure);
			((TextView)window.findViewById(R.id.prompt_context)).setText(msg);
			ok.setOnClickListener(new View.OnClickListener() {
				public void onClick(View v) {
					
					//銷毀全部Activity
					
					stopSelf();
					
					ExitApplication.getInstance().exit();
				}
			});
	
			Button cancel = (Button) window.findViewById(R.id.cancel);
			cancel.setOnClickListener(new View.OnClickListener() {
				public void onClick(View v) {
					dialog.cancel();
				}
			});
			
			dialog.setCancelable(false);

在上面有這樣一句話:

dialog.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);
這是設置dialog屬於全局的。系統的對話框,在不論什麽界面都會彈出來。

可是,當我自身app退出時。服務繼續執行,又不希望dialog彈出來,怎麽實現呢?


有待研究啊!

android Service中啟動Dialog