2017-05-08 4 views
-1

lock을위한 창 관리자를 사용하여보기를 부풀리고 있습니다. 그러나 잘못된 잠금을 여러 번 표시 할 때 대화 상자를 표시하고 싶습니다. 배경 관리자는 백그라운드에서 창 관리자가 비정상적으로 레이아웃을 표시합니다. 나는 그것에 대해 많이 알 수 없다.안드로이드에서 windowmanager에 의해 화면이 확대 표시됩니다.

표시 대화에 대한 나의 코드는 다음과 같습니다

pDialog = new SweetAlertDialog(context, SweetAlertDialog.WARNING_TYPE) 
      .setTitleText("Internet Error !") 
      .setContentText("Do you want to enable internet?") 
      .setCancelText("No,Cancel plz!") 
      .setConfirmText("Yes,Enable it") 
      .showCancelButton(true) 
      .setCancelClickListener(
        new SweetAlertDialog.OnSweetClickListener() { 
         @Override 
         public void onClick(SweetAlertDialog sDialog) { 
          sDialog.setTitleText("Cancelled!") 
            .setContentText(
              "You Can't Enable Internet") 
            .setConfirmText("OK") 
            .showCancelButton(false) 
            .setCancelClickListener(null) 
            .setConfirmClickListener(null) 
            .changeAlertType(
              SweetAlertDialog.ERROR_TYPE); 

         } 
        }) 
      .setConfirmClickListener(
        new SweetAlertDialog.OnSweetClickListener() { 

         @Override 
         public void onClick(
           SweetAlertDialog sweetAlertDialog) { 

          Intent intent = new Intent(); 
          intent.setAction(Settings.ACTION_DATA_ROAMING_SETTINGS); 
          context.startActivity(intent); 
          sweetAlertDialog.dismiss(); 

         } 
        }); 
    pDialog.getWindow().setType(
      WindowManager.LayoutParams.TYPE_SYSTEM_ALERT); 
    pDialog.show(); 

레이아웃 창 관리자에서 팽창 : 코드는 어디

this.context = context; 
    if (intent.getAction().equals(Intent.ACTION_SCREEN_OFF)) { 

     Log.d("tagKrishna", "come in if"); 
    } else { 
     Log.d("tagKrishna", "come in else"); 
     numLockView = View.inflate(context, R.layout.activity_receiver, 
       null); 
     numLockView2 = View.inflate(context, 
       R.layout.activity_unclock_photo_lock_screen, null); 
     numLockView3 = View.inflate(context, 
       R.layout.unlock_pin_lock_screen, null); 

     numLockView4 = View 
       .inflate(context, R.layout.forget_passcode, null); 

     bindView(); 
     // params = new WindowManager.LayoutParams(
     // WindowManager.LayoutParams.MATCH_PARENT, 
     // WindowManager.LayoutParams.MATCH_PARENT, 
     // 2003 , 
     // 262184, PixelFormat.TRANSLUCENT); 
     params = new WindowManager.LayoutParams(
       WindowManager.LayoutParams.MATCH_PARENT, 
       WindowManager.LayoutParams.MATCH_PARENT, 
       WindowManager.LayoutParams.TYPE_SYSTEM_ERROR, 
       WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD 
         | WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH 
         | WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS 
         | WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN, 
       PixelFormat.TRANSLUCENT); 
     windowManager = (WindowManager) context.getSystemService("window"); 
     windowManager.addView(numLockView, params); 

     init(); 
     addListener(); 

    } 
+0

입니까? – Piyush

+0

참조 용 코드가 추가되었습니다 – KrishnaJ

답변

0
AlertDialog.Builder builder = new AlertDialog.Builder(context); 
builder.setMessage("Write your message here."); 
builder.setCancelable(true); 

builder.setPositiveButton(
    "Yes", 
    new DialogInterface.OnClickListener() { 
     public void onClick(DialogInterface dialog, int id) { 
      dialog.cancel(); 
     } 
    }); 

builder.setNegativeButton(
    "No", 
    new DialogInterface.OnClickListener() { 
     public void onClick(DialogInterface dialog, int id) { 
      dialog.cancel(); 
     } 
    }); 

AlertDialog alert = builder.create(); 
alert.show(); 
+0

잠금 장치 (창 관리자 레이아웃)가 표시됩니까? – KrishnaJ

+0

아니요 잠금 기능이 작동하지 않습니다. 잠그는 동안 대화 상자를 표시하려면 서비스를 사용하여 대화 상자를 표시해야합니다. 확인해주세요. http://stackoverflow.com/questions/19074466/android-how-to-show-dialog-or-activity-over-lock-screen-not-unlock-the-screen – Saim