2016-10-20 1 views
1

Permet de mettre le service suivant comme exemple:Combien batterie viderait un service Android avec BroadcastReceiver

public class MyService extends Service { 

    final BroadcastReceiver mScreenStateReceiver = new BroadcastReceiver() { 
     @Override public void onReceive(Context context, Intent intent) { 
      //Do nothing 
     } 
    }; 

    @Override 
    public void onCreate() { 
     super.onCreate(); 
     IntentFilter intentFilter = new IntentFilter(); 
     intentFilter.addAction(Intent.ACTION_SCREEN_OFF); 
     intentFilter.addAction(Intent.ACTION_SCREEN_ON); 
     registerReceiver(mScreenStateReceiver, intentFilter); 
    } 

    @Override 
    public void onDestroy() { 
     super.onDestroy(); 
     unregisterReceiver(mScreenStateReceiver); 
    } 

} 

Notez que cette BroadcastReceiver nécessite d'être enregistré à RUNTIME (disons, service ou activité). C'est la raison pour laquelle j'utilise un service

En supposant que ce service fonctionnera pendant tout le temps où l'appareil est allumé, qu'il a un BroadcastReceiver en fonctionnement et qu'il ne fait rien, est-ce qu'il épuiserait la vie de la batterie? Si c'était le cas, combien? Peut-il faire fonctionner le cadre Android drainer plus de batterie en raison d'avoir un service ou un récepteur de diffusion en cours d'exécution?

Je sais, je suis une vie de la batterie maniac

Répondre

0

A BroadcastReciever lui-même ne consomme pas beaucoup de batterie. La tâche que vous effectuez à l'intérieur décide de la quantité de batterie qui est drainée. Référez this et this.