Android überwacht das Ein- und Ausstecken von Kopfhörern, ohne die APP öffnen zu müssen
漂亮男人
漂亮男人 2017-06-24 09:42:57
0
2
982

Jetzt ist die Nachfrage da. Überwachen Sie das Ein- und Ausstecken von Kopfhörern nach dem Einschalten des Telefons oder ohne Öffnen der App. um verschiedene Operationen durchzuführen.
Die aktuelle Denkweise ist.
Starten Sie nach dem Booten einen Dienst und überwachen Sie den Ein- und Aussteckstatus der Kopfhörer im Dienst. Wenn Kopfhörer angeschlossen sind, öffnen Sie eine Aktivität. Andernfalls schließen Sie die aktuelle Aktivität.
Stimmt an der ganzen Idee etwas nicht??

漂亮男人
漂亮男人

Antworte allen (2)
扔个三星炸死你

问题就是service进程如何存活

    Peter_Zhu

    import android.app.ActivityManager;
    import android.app.Service;
    import android.content.BroadcastReceiver;
    import android.content.Context;
    import android.content.Intent;
    import android.content.IntentFilter;
    import android.os.IBinder;
    import android.util.Log;

    import java.util.List;

    public class HeadPhoneService extends Service {

    public HeadPhoneService() { } @Override public IBinder onBind(Intent intent) { // TODO: Return the communication channel to the service. throw new UnsupportedOperationException("Not yet implemented"); } @Override public void onCreate() { super.onCreate(); Log.e("xxxx","service start"); } @Override public int onStartCommand(Intent intent, int flags, int startId) { IntentFilter intentFilter = new IntentFilter(); intentFilter.addAction(Intent.ACTION_HEADSET_PLUG); registerReceiver(headsetReceiver, intentFilter); return super.onStartCommand(intent, flags, startId); } @Override public void onDestroy() { Intent service = new Intent(this, HeadPhoneService.class); this.startService(service); super.onDestroy(); } private BroadcastReceiver headsetReceiver=new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { String action = intent.getAction(); if (Intent.ACTION_HEADSET_PLUG.equals(action)) { Log.e("xxxx","headsetchange"); if (intent.hasExtra("state")) { int state = intent.getIntExtra("state", 0); if (state == 1) { } else if(state == 0){ } Log.e("xxxx","headphone"+state); } } } };

    }

      Neueste Downloads
      Mehr>
      Web-Effekte
      Quellcode der Website
      Website-Materialien
      Frontend-Vorlage
      Über uns Haftungsausschluss Sitemap
      Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!