【问题标题】:want to run and stop service with activity android想要使用活动 android 运行和停止服务
【发布时间】:2013-04-27 16:00:40
【问题描述】:

我想知道我是否可以做到这一点,我想实现一个服务,该服务将在活动启动时调用并且应该定期运行,当我通过关闭或按下来停止活动时,服务应该停止并警报管理器在活动重新启动之前不应调用服务。 还有一件事我想发送一些关于哪些服务可以运行并将结果返回给活动的数据。 目前我正在这样做.....

class MyService extends Service{

}

class MyScheduler extends BroadCastReceiver{

//Here alarm manager and pending intent is initialized to repeat after regular intervals.

}

class MyActivity extends Activity{

 onCreate(){

    //here i am binding the service

 }

}

MyBrodcastReceiver 被添加到清单中

请帮忙并建议怎么做?

【问题讨论】:

    标签: android android-service


    【解决方案1】:

    开始:

    this.startService(new Intent(this, MyService.class));
    

    停止:

    this.stopService(new Intent(this, MyService.class));
    

    为了让间隔创建一个定期调用 BrodcastReceiver 的服务,如以下示例:

    为您服务:

    // An alarm for rising in special times to fire the pendingIntentPositioning
    private AlarmManager alarmManagerPositioning;
    // A PendingIntent for calling a receiver in special times
    public PendingIntent pendingIntentPositioning;
    
    @Override
            public void onCreate() {
                super.onCreate();
    
                alarmManagerPositioning = (AlarmManager) getSystemService
                        (Context.ALARM_SERVICE);
    
                Intent intentToFire = new Intent(
                        ReceiverPositioningAlarm.ACTION_REFRESH_SCHEDULE_ALARM);
    
                pendingIntentPositioning = PendingIntent.getBroadcast(
                        this, 0, intentToFire, 0);
    
    
    
            };
    
    
    @Override
        public void onStart(Intent intent, int startId) {
    
                long interval = 10 * 60 * 1000;
                int alarmType = AlarmManager.ELAPSED_REALTIME_WAKEUP;
                long timetoRefresh = SystemClock.elapsedRealtime();
                alarmManagerPositioning.setRepeating(alarmType,
                        timetoRefresh, interval, pendingIntentPositioning);
    
        }
    

    【讨论】:

    • 广播接收器如何接收意图数据?
    • 报警管理器会不会一直运行而让服务一直运行?
    • 我希望服务在活动破坏后立即停止。
    • 所以当你的活动停止时停止它。使用我的示例
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多