如果设备检测到加速度计,我目前正在尝试显示来自 IntentService 的祝酒词。为此,我搜索并了解到我可以实现一个处理程序。但是,它并不完全有效。代码在模拟器上编译和运行没有任何错误,但 toast 没有显示。我想知道是否可以得到一些帮助来发现我的代码中的错误。代码如下所示。
任何帮助,将不胜感激!
public class AccelService extends IntentService implements SensorEventListener{
private SensorManager mySensorManager;
private Handler toastHandler;
public AccelService(){
super("AccelerometerIntentService");
}
...
private class ToastRunnable implements Runnable{
String toastText;
public ToastRunnable(String text){
toastText = text;
}
@Override
public void run(){
Toast.makeText(getApplicationContext(), toastText, Toast.LENGTH_SHORT).show();
}
}
@Override
protected void onHandleIntent(Intent intent){
toastHandler = new Handler();
initialize();
}
public void initialize(){
mySensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);
if(mySensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER) != null){
toastHandler.post(new ToastRunnable("Accelerometer Detected!"));
}
}
...
}