2010-12-03 7 views
7

je veux Popup dialogue à un moment précis dans toutes les applications mon code:Fenêtre popup dans toutes les applications

public class testPOPDialog extends Activity { 
/** Called when the activity is first created. */ 
private Handler mHandler = new Handler(); 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 


    mHandler.postDelayed(mUpdateTimeTask, 1000); 



} 
private Runnable mUpdateTimeTask = new Runnable() { 
     public void run() { 
      AlertDialog d = new AlertDialog.Builder(testPOPDialog.this) 
      .setTitle("tanchulai") 
      .setMessage("bucuo de tanchulai") 

      .create(); 

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

} 

il me donne

12-03 10:12:18.162: ERROR/AndroidRuntime(571): android.view.WindowManager$BadTokenException: Unable to add window [email protected] -- permission denied for this window type 

ce qui est cette autorisation si je supprime d.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT); mon l'application est correcte .....

Répondre

14

Ajouter cette autorisation à votre manifeste:

android.permission.SYSTEM_ALERT_WINDOW 
+0

hey, vous êtes incroyable ça marche ... – Piyush

+0

merci beaucoup pour votre réponse – pengwang

+0

la connaissance d'or. – Salim

0

essayez ceci dans votre fichier manifeste avec l'activité que vous voulez montrer comme pop-up .-- >> android: theme = "@ android: style/Theme.Dialog"

+0

je vous remercie de votre réponse, ma question est veulent dialogue pop Peu importe ce que les programmes sont en cours d'exécution, comme une application de l'horloge. c le temps est venu .il peut ouvrir un dialogue – pengwang

1

d'abord tout cela grâce à Mathias Lin

Je suis nouveau à Android il était difficile de me définir l'autorisation de connaître la réponse de Mathias Lin. Parce que je ne savais pas comment définir la permission et où dans le fichier manifeste.

Enfin, je l'ai fait à l'aide de la réponse Mathias Lin. J'ai donc fait la réponse élaborée.


Dans l'utilisation du fichier Mainfest

<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/> 

après

<uses-sdk 
    android:minSdkVersion=... 
    android:targetSdkVersion=... /> 

comme

<uses-sdk 
    android:minSdkVersion="7" 
    android:targetSdkVersion="16" /> 
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/> 
Questions connexes