Android memantau palam fon kepala dan cabut plag tanpa membuka APP
漂亮男人
漂亮男人 2017-06-24 09:42:57
0
2
1110

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??

漂亮男人
漂亮男人

membalas semua(2)
扔个三星炸死你

Masalahnya ialah bagaimana proses servis bertahan

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;

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

}

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan