Ich möchte einen Ton als Benachrichtigung wiedergeben, wenn der Akku voll ist.Empfängerklasse erkennt ACTION_BATTERY_CHANGED
in meiner Empfängerklasse Ich schrieb 2 weitere Benachrichtigungen für "Power verbunden" und "Power getrennt" und sie funktioniert ok!
aber mein Empfänger erkennt ACTION_BATTERY_CHANGED nicht. Ich habe viel gesucht und herausgefunden, dass ich es programmatisch registrieren muss.
Das Problem ist, dass ich es ohne jede Aktivität registrieren muss. Weil ich "Battery_Fully_charged" benachrichtigen möchte, selbst wenn mein Programm nicht läuft.
Wie kann ich so etwas in meinem Empfänger ("MyReceiver.class") registrieren?
Hier ist der Beispielcode, den ich gefunden habe und es funktioniert. Aber ich möchte es ohne eine Aktivität machen.
public class Main extends Activity {
private TextView batteryTxt;
private BroadcastReceiver mBatInfoReceiver = new BroadcastReceiver(){
@Override
public void onReceive(Context ctxt, Intent intent) {
int level = intent.getIntExtra(BatteryManager.EXTRA_LEVEL, 0);
batteryTxt.setText(String.valueOf(level) + "%");
}
};
@Override
public void onCreate(Bundle b) {
super.onCreate(b);
setContentView(R.layout.main);
batteryTxt = (TextView) this.findViewById(R.id.batteryTxt);
this.registerReceiver(this.mBatInfoReceiver, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
}
}
Edit: was ist der Unterschied zwischen Dienst und Empfänger Broad? Ich habe versucht, den Dienst aber noch kein Ergebnis bekommen haben
Verwenden Sie einen Dienst anstelle einer Aktivität. Hinweis: Android wird implizite Absichten wie diese los, so dass es möglicherweise nicht in Android N funktioniert. –
@Eugen Pechanec Natürlich habe ich Service benutzt und trotzdem funktioniert es nicht. Kannst du ein Beispiel veröffentlichen? –
So etwas gibt es natürlich nicht, wie soll ich das wissen? Was, wenn du das gepostet hast, was du versucht hast, also wiederholen wir uns nicht? –