web-dev-qa-db-fra.com

en utilisant getWindowManager () dans BroadcastReceiver

J'essaie d'utiliser getWindowManager() à l'intérieur BroadcastReceiver et j'obtiens cette erreur:

"La méthode getWindowManager() n'est pas définie pour le type MyReceiver"

J'ai juste besoin d'obtenir display.getWidth() et display.getHeight()

Des indices? Merci beaucoup.

42
Ton

getWindowManager() est une méthode sur Activity. Vous ne pouvez pas utiliser cette méthode. Veuillez utiliser getSystemService() pour récupérer un WindowManager, comme décrit dans la documentation de WindowManager .

53
CommonsWare

Code simple dont vous avez seulement besoin de contexte

        DisplayMetrics metrics = new DisplayMetrics();
        WindowManager windowManager = (WindowManager) context
                .getSystemService(Context.WINDOW_SERVICE);
        windowManager.getDefaultDisplay().getMetrics(metrics);

Plus d'informations allez sur documentation

Ou vous pouvez utiliser celui-ci

context.getResources().getDisplayMetrics()

mais lisez la documentation

Renvoie les mesures d'affichage en cours qui sont en vigueur pour cet objet ressource. L'objet retourné doit être traité comme en lecture seule .

109
Dawid Drozd