漂亮男人2017-06-24 09:42:57 0 2 474
[Android讨论组]举报回复话题 ↕
现在的需求是。开机之后或者不打开App的情况下监听耳机的插拔情况。从而执行不同的操作。现在的思路是。开机启动一个service,在service中监听耳机插拔情况。如果耳机插入则打开一个Activity。否则关闭当前Activity。整个思路是否有问题??
2
0
分享
扔个三星炸死你 2017-06-24 09:44:572楼
问题就是service进程如何存活
赞 +0添加回复
天蓬老师 2017-06-24 09:44:571楼
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); } } } };
}
扔个三星炸死你 2017-06-24 09:44:572楼
问题就是service进程如何存活
赞 +0添加回复
天蓬老师 2017-06-24 09:44:571楼
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 {
}
赞 +0添加回复