扫码关注官方订阅号
现在的需求是。开机之后或者不打开App的情况下监听耳机的插拔情况。从而执行不同的操作。现在的思路是。开机启动一个service,在service中监听耳机插拔情况。如果耳机插入则打开一个Activity。否则关闭当前Activity。整个思路是否有问题??
问题就是service进程如何存活
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); } } } };
}
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
扫描下载App
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
问题就是service进程如何存活
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 {
}