Android(安卓)Service实现闹钟
16lz
2021-12-04
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音量调节
- android之AlerDialog
- Android(安卓)training
- Android对话框实例-注册对话框
- Android实时获得经纬度,发送给c++服务端
- android中getSystemService详解
- androidの自定义加载对话框ProgressDialog
- android 进入页面隐藏输入法
- android 透明对话框