【发布时间】:2013-10-24 15:01:11
【问题描述】:
我正在尝试创建一个使用后台服务连接到 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 但保持存活服务
谢谢
【问题讨论】:
标签: service android-activity swipe kill