2016-11-30 9 views
0

着信コール画面にアクティビティ(テーマダイアログとともに)を表示して情報を表示しようとしています。私はそれで終わりですが、問題は呼び出しが来るたびにアクティビティダイアログがポップアップし、SLIDER(呼び出しの受け入れ/拒否)が処理されます。着信コールアクティビティ(テーマダイアログ)の上にあるアクティビティ(テーマダイアログ)による妨害

[着信呼び出し]画面で[アクティビティ]ダイアログを表示したいが、依然としてユーザーが電話を選択/拒否したがっています。

私はこれを使用しましたが、今はアクティビティを完了できません(ダイアログ)。

getWindow()。addFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE); getWindow()。addFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL);

暖かいよろしく

super.onCreate(savedInstanceState); 
requestWindowFeature(Window.FEATURE_NO_TITLE); 

getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT); 
getWindow().addFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE); 
getWindow().addFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL); 
     setContentView(R.layout.notedialog); 
     this.setFinishOnTouchOutside(false); 
     initializeContent(); 

     phone_no = getIntent().getExtras().getString("phone_no"); 
     String note = getIntent().getExtras().getString("note"); 

     tv_client.setText(phone_no + " is calling you"); 
     note_mEditText.setText(note); 

     dialog_ok.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       MainActivity.this.finish(); 
      //  this.setFinishOnTouchOutside(false); 
       System.exit(0); 
      } 
     }); 
+0

いくつかのコードを表示できますか? – Ash

+0

質問欄にご記入ください。 @Ashu –

+0

ああ、アンドロイドの質問、申し訳ありません、私はアンドロイドの開発者ではありません:) – Ash

答えて

0

ダイアログスタイルで活動の必要はありません。 ダイアログを表示する場合にのみ、このメソッドを呼び出します。 これはあなたの電話の上にダイアログを作成します。

final Dialog dialog; 
public void showDialog(){ 
    dialog = new Dialog(this, 
      android.R.style.Theme_Translucent_NoTitleBar); 

    // Setting dialogview 
    Window window = dialog.getWindow(); 
    window.setGravity(Gravity.TOP); 

    window.setLayout(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT); 
    dialog.setTitle(null); 
    dialog.setContentView(R.layout.notedialog); 
    dialog.setCancelable(true); 

    dialog.show(); 
    } 

そしてこのメ​​ソッドを呼び出すダイアログをキャンセルします。

public void cancelDialog(){ 
if(dialog!= null){ 
dialog.dismiss() 
} 
} 

OR

あなたは、ウィンドウの位置を変更するには、このメソッドを使用することができるアクティビティダイアログを使用することを主張する場合。

@Override 
public void onAttachedToWindow() { 
    super.onAttachedToWindow(); 

    View view = getWindow().getDecorView(); 
    WindowManager.LayoutParams lp = (WindowManager.LayoutParams) view.getLayoutParams(); 
    lp.gravity = Gravity.CENTER | Gravity.TOP 
    lp.x = 10; 
    lp.y = 10; 
    lp.width = 300; 
    lp.height = 300; 
    getWindowManager().updateViewLayout(view, lp); 
} 
+0

** dialog.show(); **' android.view.WindowManager $ BadTokenException:ウィンドウを追加できません - トークンnullはアプリケーションのものではありません。 ' –

+0

@PawandeepKaur 'This'を' YourActivity.this'に変更してください... –

関連する問題