В моем приложении я создаю обработчик в действии A, чем пытаюсь закрыть его из действия B. Но обработчик просто не остановится. Вот пользователь senario и код, который я использую;Android: Как остановить обработчик от другой активности?
- Пользователь устанавливает уведомление
- Уведомление показан и обработчик создан
- Пользователь нажмите на уведомление
- Другая деятельность открывает
- Пользователь вводит кнопку и обработчик останавливается
Это как я пытаюсь это сделать (только обработчик, создающий и останавливающий части, так как остальное неуязвимо).
public class MyAlarmService extends Service {
public static Handler handler = new Handler();
public MyAlarmService() {
}
@Override
public IBinder onBind(Intent arg0)
{
// TODO Auto-generated method stub
return null;
}
@SuppressWarnings("static-access")
@Override
public void onStart(Intent intent, int startId)
{
super.onStart(intent, startId);
handler.postDelayed(runnable, 10000);
}
static Runnable runnable = new Runnable() {
@Override
public void run() {
sendmessage();
handler.postDelayed(this, 10000);
}
};
static public void stopRunnable(){
handler.removeCallbacks(runnable);
}
}
И вот как я пытаюсь остановить обработчик;
buttonStopCountDownTimer.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
runOnUiThread(new Runnable() {
@Override
public void run() {
MyAlarmService.stopRunnable();
}
});
}
});
Есть ли в любом случае, чтобы достичь этого?
да, использовать что-то вроде 'StartService (новый Intent (...). SetAction (YOUR_ACTION_INT))', то в вашей службе, вы сможете команда прибудете в методе 'onStartCommand()' – deadfish
Это не покажите его в параметрах, когда я пытаюсь поставить stopRunnable вместо YOUR_ACTION_INT – Ashtaroth