我有这个简单的服务,广播用户的当前位置.我想使用绑定机制来控制服务生命周期,但服务只是没有启动.
我做错了什么?
public class GPSActivity extends ListActivity {
...
protected void onResume() {
super.onResume();
Log.i("Service", "Service bound");
Intent intent = new Intent(this, LocationService.class);
bindService(intent, service_connection , Context.BIND_AUTO_CREATE);
}
protected void onPause() {
if (dataUpdateReceiver!=null)
unregisterReceiver(dataUpdateReceiver);
unbindService(service_connection);
super.onPause();
}
class LocationServiceConnection implements ServiceConnection{
public void onServiceConnected(ComponentName name, IBinder service) {
Log.i("Service", "Service Connected");
}
public void onServiceDisconnected(ComponentName name) {
}
}
}
Run Code Online (Sandbox Code Playgroud)
LocalBinder.java
public class LocalBinder<S> extends Binder {
private String TAG = "LocalBinder";
private WeakReference<S> mService;
public LocalBinder(S service){
mService …Run Code Online (Sandbox Code Playgroud) 所以,我正在查看一些早期的代码,并发现这应该是一个语法错误的随机加号,但代码工作正常,我不明白为什么
tv_distance.setText("Distance: " +
( dist >= 1000 ? (String.format("%.1f", dist/1000f)) : +dist )
+ " " + metric );
Run Code Online (Sandbox Code Playgroud)
额外的加号位于三元运算符的第三个操作数:
() ? () : +dist
Run Code Online (Sandbox Code Playgroud)
那我错过了什么?