Android中的ACTION_TIME_TICK问题

时间:2011-12-27 23:56:40

标签: java android android-service

我的手机每分钟都不振动。这是我的代码:

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.os.Vibrator;

public class vibrateNow extends Service {
static IntentFilter s_intentFilter;
static {
    s_intentFilter = new IntentFilter();
    s_intentFilter.addAction(Intent.ACTION_TIME_TICK);
}
BroadcastReceiver yourReceiver;

public void onCreate() {
    super.onCreate();

    this.yourReceiver = new BroadcastReceiver(){
        @Override
        public void onReceive(Context context, Intent intent) {
            showSuccessfulBroadcast();
        }
    };
    // Registers the receiver so that your service will listen for broadcasts
    vibrateNow.this.registerReceiver(vibrateNow.this.yourReceiver, s_intentFilter);
}

@Override
public IBinder onBind(Intent arg0) {
    return null;
}   

private void showSuccessfulBroadcast() {
    Vibrator v = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);

    // Vibrate for 300 milliseconds
    v.vibrate(300);

}
}

顺便说一下:我在Android Manifest中注册了android.permission.VIBRATE权限。

1 个答案:

答案 0 :(得分:1)

您可能在错误的地方获得了许可。

或者,您可能无法启动该服务。

或者,您正在启动该服务,但正在停止它,并且Android会在下一个时间戳到来之前摆脱您的空进程。

或者,您正在仿真器上进行测试,该仿真器没有振动电机。

或者,您正在测试没有振动电机的设备。

可能还有其他问题,但这些问题应该让你开始。