Android Servicesでグローバルダイアログをポップアップ

1427 ワード

<span style="white-space:pre">		</span>View view = View.inflate(StatusBarService.this, R.layout.power_off_dialog, null);
		        AlertDialog.Builder b = new AlertDialog.Builder(StatusBarService.this);  
		        b.setView(view);
		        final AlertDialog d = b.create();
		        d.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_DIALOG); //              
		        //d.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);  //        ,    
		        //d.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY);  //         ,                
		        d.show();
		        
				Button yesButton = (Button) view.findViewById(R.id.yes_button);
				Button canclButton = (Button) view.findViewById(R.id.cancl_button);

				yesButton.setOnClickListener(new View.OnClickListener() {

					@Override
					public void onClick(View v) {
						Intent intent = new Intent(Intent.ACTION_REQUEST_SHUTDOWN);
						intent.putExtra(Intent.EXTRA_KEY_CONFIRM, false);
						intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
						startActivity(intent);
					}
				});

				canclButton.setOnClickListener(new View.OnClickListener() {

					@Override
					public void onClick(View v) {
						d.dismiss();
					}
				});