Android Service实现闹钟

原创 2016年06月01日 21:49:43

1.MainActivity.class中开启服务

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Intent intent = new Intent(this, LongRunningService.class);
        startService(intent);
    }
}

2.LongRunningService.class中获取闹钟服务,并定时10s,然后启动AlarmActivity.class

import android.app.AlarmManager;
import android.app.PendingIntent;
import android.app.Service;
import android.content.Intent;
import android.os.IBinder;
import android.os.SystemClock;
import android.util.Log;

import java.util.Date;

/**
 * Created by admin on 16-5-31.
 */
public class LongRunningService extends Service{
    @Override
    public IBinder onBind(Intent intent) {
        return null;
    }

    @Override
    public int onStartCommand(Intent intent, int flags, int startId) {
        new Thread(new Runnable() {
            @Override
            public void run() {
                Log.i("LongRunningService", "executed at " + new Date().toString());
            }
        }).start();
        AlarmManager manager = (AlarmManager) getSystemService(ALARM_SERVICE);
        int anHour = 10 * 1000;
        long triggerAtTime = SystemClock.elapsedRealtime() + anHour;
        Intent i = new Intent(this, AlarmActivity.class);
        PendingIntent pi = PendingIntent.getActivity(this, 0, i, 0);
        manager.set(AlarmManager.ELAPSED_REALTIME_WAKEUP, triggerAtTime, pi);//1min后返回执行
        return super.onStartCommand(intent, flags, startId);
    }
}

3.AlarmActivity.class中实例化一个对话框,并播放音乐

import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.media.MediaPlayer;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;

public class AlarmActivity extends Activity {

    MediaPlayer mAlarmMusic;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        mAlarmMusic = MediaPlayer.create(this,R.raw.alarm);
        mAlarmMusic.setLooping(true);
        mAlarmMusic.start();
        new AlertDialog.Builder(AlarmActivity.this).setTitle("Alarm !!!")
                .setMessage("Time Out,GO!")
                .setPositiveButton("OK", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        mAlarmMusic.stop();
                        AlarmActivity.this.finish();
                    }
                }).show();
    }
}

实现效果,如下图所示。

            


版权声明:本文为博主原创文章,转载注明出处

相关文章推荐

Android开发之如何监听让服务不被杀死(service+broadcast)

转自:http://blog.csdn.net/mad1989/article/details/22492519  最近项目要实现这样一个效果:运行后,要有一个service始终保持...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

Android提供的系统服务之--AlarmManager(闹钟服务)

本节引言: 本节主要介绍的是Android系统服务中的---AlarmManager(闹钟服务), 除了开发手机闹钟外,更多的时候是作为一个全局的定时器,通常与Service 结合,在特定时间启...

Android Service实现闹钟服务 源代码

  • 2016年06月02日 07:41
  • 28.96MB
  • 下载

android service实现循环定时提醒(仿闹钟)

人每天都要喝8杯水才能保持健康,于是苦逼的程序员总是一遍代码就忘了时间,于是我突发奇想能不能开发一个apk能够实现固定的间隔时间定时提醒我要喝水了呢?apk基本功能:1)能够设置间隔时间 2)在ap...

初学Android,闹钟服务调用Service(六十九)

下面的例子是让AlarmManager定时调用某个Service,从而让系统实现定时更换壁纸的功能界面非常简单先创建更换壁纸的服务类package WangLi.Service.AlarmWallpa...
  • lee576
  • lee576
  • 2012年10月16日 14:28
  • 9873

android 闹钟的实现

转载  http://blog.csdn.net/wdaming1986/article/details/7461043

Android关机闹钟实现

1、apk层 这个还是比较简单的,百度一下就可以看到apk的代码,我之前也有贴出来过 还是看一下核心代码吧。 package com.example.helloworld; import java...

Android自定义锁屏实现----仿正点闹钟滑屏解锁

发表帖子发起投票发布悬赏发起辩论发起活动出售商品     vivie 当前离线 高级会员 高级会员, ...

Android 闹钟的实现详解

Android本身为我们提供了一些
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android Service实现闹钟
举报原因:
原因补充:

(最多只允许输入30个字)