BroadcastReceiver pour l'Écran on/Off ne fonctionne pas
Je suis en train d'utiliser BroadcastReceiver mais ça ne fonctionne pas, merci de m'aider à résoudre ce problème.
MyReceiver.java
package com.example.broadcast_receiver;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.util.Log;
public class MyReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
//TODO Auto-generated method stub
Log.i("[BroadcastReceiver]", "MyReceiver");
if(intent.getAction().equals(Intent.ACTION_SCREEN_ON)){
Log.i("[BroadcastReceiver]", "Screen ON");
}
else if(intent.getAction().equals(Intent.ACTION_SCREEN_OFF)){
Log.i("[BroadcastReceiver]", "Screen OFF");
}
}
}
AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.broadcast_receiver"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="9"
android:targetSdkVersion="16" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<receiver android:name=".MyReceiver"
android:enabled="true"
android:exported="false">
<intent-filter>
<action android:name="android.intent.action.SCREEN_ON"/>
<action android:name="android.intent.action.SCREEN_OFF"/>
</intent-filter>
</receiver>
<activity
android:name="com.example.broadcast_receiver.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
BroadcastReceiver ne fonctionne pas et en ne faisant pas n'importe quel journal, merci de m'aider à résoudre ce problème.
Vérifier stackoverflow.com/a/9478013/1777090
Veuillez Utiliser un Autre Service de Regitser. Message Reçu ou Appel Entrant. Veuillez consulter le Journal.
de vérifier cela, on pourrait aider à plein pour vous stackoverflow.com/questions/9477922/...
Veuillez Vérifier cela, il pourrait être utile Écran on/OFF SUR la diffusion de l'écouteur sans service
Veuillez Utiliser un Autre Service de Regitser. Message Reçu ou Appel Entrant. Veuillez consulter le Journal.
de vérifier cela, on pourrait aider à plein pour vous stackoverflow.com/questions/9477922/...
Veuillez Vérifier cela, il pourrait être utile Écran on/OFF SUR la diffusion de l'écouteur sans service
OriginalL'auteur user2290872 | 2013-04-23
Vous devez vous connecter pour publier un commentaire.
Hey essayez d'utiliser dynamique de l'appel de la diffusion,j'ai essayé cela, il va sûrement travailler...
vous appelez cette diffusion à l'intérieur de "services"
kk thnx je l'ai fait, mais whn j'ai fermé l'application n essayez d'écran n sur thn il ne fonctionne pas, j'ai donc vérifier les services en cours d'exécution sur le téléphone n montrer qu'il n'existe pas de service que j'ai fait, si u peut aider 4 ?
kk thnx maintenant le service fonctionne en arrière-plan bt je veux ouvrir activité whn écran, bt id que l'activité est déjà en cours d'exécution thn il ne peut pas exécuter de nouveau n affiche pas de vieux ouvrir activité, comment puis-je ne dis u peut m'aider 4 dis ?
mon application ne contient pas de tous les services
OriginalL'auteur kavya
Si vous voulez que ce récepteur à être appelé par le système, vous devez l'exporter. Vous définissez exporté = "false", changer pour vrai ou supprimer entièrement exporté et cela va commencer à travailler. Normalement, ce serait de l'insécurité, mais comme les deux SCREEN_ON et SCREEN_OFF sont protégés des diffusions, et vous vérifiez les actions, seulement plus de confiance système de code permet d'envoyer trop de vous, alors il est assez sûr.
Malheureusement, cela ne marchera pas dans ce cas que les intentions de diffusion ont les options suivantes:
L'intention.FLAG_RECEIVER_REGISTERED_ONLY | Intention.FLAG_RECEIVER_FOREGROUND
OriginalL'auteur Jesse
Pouvez-vous essayer avec l'obtention de la batterie valeur:
vous appelez cette diffusion à l'intérieur de "services"
OriginalL'auteur kavya