我正在尝试创建一个使用后台服务连接到 BluetoothDevice 的应用程序:
活动:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.main);
/* ... Create Data Scruct ...*/
dataStruct = new DataStruct();
/* Start Service /*
Intent intentService = new Intent(this,NewService.class);
intentService.putExtra("Data", dataStruct);
startService(intentService);
}
服务:
public class NewService extends Service{
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
super.onStartCommand(intent, flags, startId);
dataStruct = intent.getStringExtra("Data");
...
connectBluetooth(dataStruct.getDeviceBT());
return START_NOT_STICKY;
}
public void BTReceive(){
updateDataStruct();
}
}
每次连接 BT 并收到一些特殊的通知时,就会发生通知单击通知时,活动会启动(按意图)它可以工作,但我想在不启动 Activity 布局的情况下启动此应用程序。我想启动服务并在移动启动时启动它。最后一个问题,当我从“最后一个应用程序列表”中刷出应用程序时,服务停止并且蓝牙通信丢失。有办法避免吗?我想杀死 Activity 但要保持活力服务
谢谢