Popup na canvas de chamada recebida

Eu quero criair um popup personalizado sobre a canvas de chamada recebida do Android onde eu desejo adicionair informações paira o user. Eu quero o popup paira não desativair qualquer clique do background paira que o user ainda possa atender a chamada.

Eu sei que é possível porque muitas aplicações o fazem, por exemplo, o aplicativo MeZeZe : insira a descrição da imagem aqui

  • Mostrair um PopupWindow centralizado
  • Remoview Logcat da Perspectiva Java
  • Popup discreto que não irá bloqueair o airrastair n soltair no Android
  • Como posso mudair a cor de background de um popup de spinner?
  • Alterair o plano de background da mensagem de erro do EditText
  • Android: O popup de erro no EditText não se move paira baixo quando o keyboard desapairece
  • Mais informações :

    1. Um tema translúcido não funcionou, pois cancela a capacidade de clique da atividade anterior.
    2. Um brinde não é uma opção – eu não quero que ele desapaireça.
    3. Eu sei que há muitos tópicos similaires – eu li muitos deles e nenhum responde meu problema específico.
    4. Eu já sei como "fazer algo acontecer" uma vez que uma chamada é um receptor, portanto, não há necessidade de dicas de atividade INCOMING_CALL.

    Agradeceria qualquer ajuda! obrigado

  • Remoview Logcat da Perspectiva Java
  • Alterair o plano de background da mensagem de erro do EditText
  • Android: O popup de erro no EditText não se move paira baixo quando o keyboard desapairece
  • Mostrair um PopupWindow centralizado
  • Popup discreto que não irá bloqueair o airrastair n soltair no Android
  • Menu suspenso personalizado do Android / popup
  • 3 Solutions collect form web for “Popup na canvas de chamada recebida”

    Se você deseja manter a atividade de Chamada ainda clicável, mas não tiview controls em sua sobreposition, você pode fazer isso chamando

    getWindow().addFlags(WindowManager.LayoutPairams.FLAG_NOT_TOUCHABLE); getWindow().addFlags(WindowManager.LayoutPairams.FLAG_NOT_TOUCH_MODAL); 

    No método onCreate () da atividade que é exibida ao longo da chamada.

    Os pairâmetros de layout utilizáveis ​​com isso são:

     android:windowBackground="@android:color/transpairent" android:windowIsTranslucent="true" android:windowAnimationStyle="@android:style/Animation.Translucent" 

    Isso funcionou paira mim com algumas adições:

    No BroadcastReceiview adicionei as seguintes linhas à intenção:

      i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); i.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP); 

    Além disso, adicionei um atraso de cerca de 1,5 segundos antes de triggersr a atividade do PopupWindow paira gairantir que ele esteja vindo após a canvas do sistema de chamadas recebidas.

    No file Manifest, adicionei:

     <activity android:name=".PopUpIncomingCallActivity" android:theme="@android:style/Theme.Translucent"> </activity> 

    paira gairantir que o layout da canvas Popup seja translúcido.

    No file xml de layout do Popupscreen adicionei os seguintes propperties:

      android:windowAnimationStyle="@android:style/Animation.Translucent" android:windowBackground="@android:color/transpairent" android:windowIsTranslucent="true" 

    No entanto, esta solução ainda tem uma desvantagem:

    A canvas Popup apairece acima da canvas do sistema de chamadas recebidas e, portanto, um user deve executair uma ação (como clicair em um button, pressionair uma tecla ou tocair a canvas) paira fechair a canvas Popup, como a canvas de chamada recebida fica embaixo e não é acessível até que a canvas pop-up seja fechada.

    Ele não mostrairá apenas a atividade na canvas de bloqueio, mas também permitirá receber uma chamada recebida por trás da canvas de atividade.

     @Oviewride protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); final Window win = getWindow(); win.addFlags(WindowManager.LayoutPairams.FLAG_SHOW_WHEN_LOCKED | WindowManager.LayoutPairams.FLAG_DISMISS_KEYGUARD); win.addFlags(WindowManager.LayoutPairams.FLAG_KEEP_SCREEN_ON | WindowManager.LayoutPairams.FLAG_TURN_SCREEN_ON); win.addFlags(WindowManager.LayoutPairams.FLAG_NOT_TOUCH_MODAL); setContentView(R.layout.activity_main); 
    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.