0

サービス初心者です。AlaramManagerを利用してサービスを開始しました。正常に動作しますが、サービスを停止しようとしてもサービスは停止しません。

サービス開始方法

        Calendar cur_cal = Calendar.getInstance();
        cur_cal.setTimeInMillis(System.currentTimeMillis());
        Intent intent = new Intent(XoroActivity.this, XorService.class);
         pintent = PendingIntent.getService(XoroActivity.this,
                0, intent, 0);
         alarm = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
        mStarted = true;
        if (mB_IntervalStr.equals("1 minute")) {
            alarm.setRepeating(AlarmManager.RTC_WAKEUP,
                    cur_cal.getTimeInMillis(), 1 * 60 * 1000, pintent);
        } else if (mB_IntervalStr.equals("2 minutes")) {
            alarm.setRepeating(AlarmManager.RTC_WAKEUP,
                    cur_cal.getTimeInMillis(), 2 * 60 * 1000, pintent);
        } else if (mB_IntervalStr.equals("5 minutes")) {
            alarm.setRepeating(AlarmManager.RTC_WAKEUP,
                    cur_cal.getTimeInMillis(), 5 * 60 * 1000, pintent);
        } else if (mB_IntervalStr.equals("10 minutes")) {
            alarm.setRepeating(AlarmManager.RTC_WAKEUP,
                    cur_cal.getTimeInMillis(), 10 * 60 * 1000, pintent);
        } else if (mB_IntervalStr.equals("30 minutes")) {
            alarm.setRepeating(AlarmManager.RTC_WAKEUP,
                    cur_cal.getTimeInMillis(), 30 * 60 * 1000, pintent);
        } else if (mB_IntervalStr.equals("60 minutes")) {
            alarm.setRepeating(AlarmManager.RTC_WAKEUP,
                    cur_cal.getTimeInMillis(), 60 * 60 * 1000, pintent);
        }

サービス停止方法

        Intent i = new Intent();
        i.setClassName("com.teks.xormobile", "com.teks.xormobile.XorService");
        stopService(i);
        alarm.cancel(pintent);

それは動作しません。サービスを停止する方法を教えてください。...

4

1 に答える 1

0

サービス自体を停止しようとしていると思います。メソッドの使用に興味があるかもしれませんstopSelf()..

于 2013-11-05T06:54:57.293 に答える