Question

Je voudrais ouvrir une boîte de dialogue avec des informations simples sur quand un fond d'écran en direct est exploité. Redéfinition onCommand dans un fond d'écran en direct Android, et en ajoutant un de la documentation Android dialogue personnalisée presque droite (avec une mise en page info_dialog.xml non représenté):

@Override
public Bundle onCommand (String action, int x, int y, int z, Bundle extras, boolean resultRequested)
{
 System.out.println(action);  
 Context mContext = getApplicationContext();
 Dialog dialog = new Dialog(mContext);

 dialog.setContentView(R.layout.info_dialog);
 dialog.setTitle("Custom Dialog");

 TextView text = (TextView) dialog.findViewById(R.id.text);
 text.setText("Hello, this is a custom dialog!");

 dialog.show();

 return null
}    

génère juste une exception:

12-02 07:14:40.880: ERROR/AndroidRuntime(295): android.view.WindowManager$BadTokenException: Unable to add window -- token null is not for an application
12-02 07:14:40.880: ERROR/AndroidRuntime(295):     at android.view.ViewRoot.setView(ViewRoot.java:509)

12-02 07:14:40.880: ERROR/AndroidRuntime(295):     at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:177)

12-02 07:14:40.880: ERROR/AndroidRuntime(295):     at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:91)

12-02 07:14:40.880: ERROR/AndroidRuntime(295):     at android.app.Dialog.show(Dialog.java:241)

Je suppose que c'est parce que je suis en train de soulever la boîte de dialogue d'un WallpaperService plutôt que d'une activité. Redéfinition méthode onTouchEvent du WallpaperService.Engine obtient juste le même résultat.

Est-ce que cela signifie que je dois tourner une activité distincte pour accueillir la boîte de dialogue? Ou est le déclenchement d'une boîte de dialogue à partir d'un fond d'écran en direct pas possible?

Était-ce utile?

La solution

  

Est-ce que cela signifie que je dois tourner une activité distincte pour accueillir la boîte de dialogue?

Oui. Ou, mieux encore, utiliser une activité de dialogue sur le thème.

Pour ma part, si vous prévoyez de le faire pour l'ensemble de votre fond d'écran en direct, je vous attends aurez tout un tas de notes une étoile sur le marché, comme je soupçonne que les utilisateurs se énerver lorsque votre activité / dialogue ne cesse d'apparaître juste parce qu'ils mal tap sur leur écran d'accueil.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top