300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > android 闹钟服务 Android Service实现闹钟

android 闹钟服务 Android Service实现闹钟

时间:2019-02-11 23:31:33

相关推荐

android 闹钟服务 Android Service实现闹钟

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();

}

}

实现效果,如下图所示。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。