Я пытаюсь запустить vibrator
, если служба вызывается из моего приложения. Я запускаю службу из Fragment
, но я не знаю, почему вибратор не работает внутри службы. Я даже не смог распечатать Toast
. Мой код: < бр>
Вызов из фрагмента:
Intent buzz= new Intent(getActivity(),LocBuzzService.class);
getActivity().startService(buzz);
Класс обслуживания:
public class LocBuzzService extends Service {
private static final String TAG = "HelloService";
private boolean isRunning = false;
public Vibrator vibrator;
@Override
public void onCreate() {
Log.i(TAG, "Service onCreate");
isRunning = true;
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
Log.i(TAG, "Service onStartCommand");
new Thread(new Runnable() {
@Override
public void run() {
try{
Log.i(TAG, "I am in thread");
Toast.makeText(getApplicationContext(),"I am here",Toast.LENGTH_LONG).show();
vibrator = (Vibrator) getApplicationContext().getSystemService(Context.VIBRATOR_SERVICE);
vibrator.vibrate(3000);
vibrator.cancel();
}catch (Exception e){
}
stopSelf();
}
}).start();
return Service.START_STICKY;
}
@Override
public IBinder onBind(Intent intent) {
Log.i(TAG, "Service onBind");
return null;
}
@Override
public void onDestroy() {
Log.i(TAG, "Service onDestroy");
isRunning = false;
}
}
Я также пробовал это и не работал:
vibrator = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
Я видел в logcat, что вызываются все функции внутри класса обслуживания, и я также включил разрешение.
<uses-permission android:name="android.permission.VIBRATE"/>
catch
? - person adjan   schedule 02.05.2015