Я создал BootReceiver, который создает новое действие и всплывает диалоговое окно Alert. После нажатия OK/Отмена эта активность все еще не полностью закрыта. Я могу видеть то же самое в кнопке «Список окон» & Я вижу диалоговое окно «Предупреждение» из списка «Окно».Активность Still Runs - Android
Любые идеи, что может быть неправильным?
Мой код выглядит как ниже, вызывая завершение после ОК/Отменить buttoon protected void onCreate (Bundle savedInstanceState) { super.onCreate (savedInstanceState);
WindowManager.LayoutParams winParams;
getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
// Windows Attributes
requestWindowFeature(Window.FEATURE_NO_TITLE);
winParams = getWindow().getAttributes();
winParams.flags |= (WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED
| WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);
getWindow().setAttributes(winParams);
// Show Popup
popup = new AlertDialog.Builder(this)
.setCancelable(true)
.setPositiveButton("agree", new OnClickListener() {
public void onClick(DialogInterface dialog, int arg1) {
if(DEBUG) Log.d(LOG_TAG, " AGREE CLICKED" );
finish();}})
.setNegativeButton("disagree", new OnClickListener() {
public void onClick(DialogInterface dialog, int arg1) {
if(DEBUG) Log.d(LOG_TAG, " DISAGREE CLICKED" );
finish();}})
.setOnCancelListener(
new DialogInterface.OnCancelListener() {
public void onCancel(DialogInterface dialog) {
finish();
}});
popup.setIcon(android.R.drawable.ic_dialog_alert);
popup.setTitle("title");
popup.setMessage("Message");
dialog = popup.create();
winParams = dialog.getWindow().getAttributes();
winParams.flags |= (WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED
| WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);
dialog.getWindow().setAttributes(winParams);
dialog.setOnDismissListener(AlwaysReqWhenPS);
dialog.setOnKeyListener(this);
dialog.show();
}
protected void onStop() {
if(DEBUG) Log.d(LOG_TAG, " OnStop Called" );
super.onStop();
}
public void onDestroy() {
if(DEBUG) Log.d(LOG_TAG, " onDestroy Called" );
super.onDestroy();
}
public void onPause() {
if(DEBUG) Log.d(LOG_TAG, " onPause Called" );
super.onPause();
}
Что вы подразумеваете под кнопкой «Список окон».? Как кнопки ok/cancel в диалоговом окне оповещения управляют действием? – Gopinath
Вы не должны запускать действия при загрузке. Это расстраивает и значительно замедляет процесс загрузки. – Falmarri
@Gopinath: список окон означает, что мы можем видеть список ранее открытых действий, которые могут быть рядом с кнопкой HOME. добавлен фрагмент кода. – jhlee