cari

Rumah  >  Soal Jawab  >  teks badan

Android memantau palam fon kepala dan cabut plag tanpa membuka APP

Permintaan sekarang ialah. Pantau palam dan cabut plag fon kepala selepas menghidupkan telefon atau tanpa membuka apl. untuk melakukan operasi yang berbeza.
Pemikiran semasa ialah.
Mulakan perkhidmatan selepas but, dan pantau status memasang dan mencabut fon kepala dalam perkhidmatan. Jika fon kepala dipasang, buka Aktiviti. Jika tidak, tutup Aktiviti semasa.
Ada yang salah dengan keseluruhan idea??

漂亮男人漂亮男人2785 hari yang lalu1172

membalas semua(2)saya akan balas

  • 扔个三星炸死你

    扔个三星炸死你2017-06-24 09:44:57

    Masalahnya ialah bagaimana proses servis bertahan

    balas
    0
  • 天蓬老师

    天蓬老师2017-06-24 09:44:57

    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;

    Service Headphone kelas awam melanjutkan Perkhidmatan {

    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);
                }
            }
        }
    };
    

    }

    balas
    0
  • Batalbalas