国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android手機鬧鐘用法實例

2020-04-11 11:25:01
字體:
來源:轉載
供稿:網友

本文實例講述了Android手機鬧鐘用法。分享給大家供大家參考。具體如下:

一、開發手機鬧鐘主要用到了AlarmManager類,AlarmManager類提供了訪問系統定時服務的途徑,開發人員可以在程序中設置某個應用程序在未來的某個時刻被執行。當AlarmManager定時時間到了之后,當初注冊的Intent對象將會被系統廣播,進而啟動目標程序。

二、在程序運行時當需要使用AlarmManager類時,可以通過Context對象的getSystemService(Context.ALARM_SERVICE)方法來獲得AlarmManager對象。

以下程序中使用時間選擇對話框設置鬧鐘的時間。

main.xml布局文件:

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical"  android:layout_width="fill_parent" android:layout_height="fill_parent"> <Button android:id="@+id/btn"   android:text="設置鬧鐘"  android:layout_width="fill_parent"  android:layout_height="wrap_content" /></LinearLayout>

清單文件:

<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.ljq.activity" android:versionCode="1" android:versionName="1.0"> <application android:icon="@drawable/icon"  android:label="@string/app_name">  <activity android:name=".MainActivity"   android:label="@string/app_name">   <intent-filter>    <action android:name="android.intent.action.MAIN" />    <category     android:name="android.intent.category.LAUNCHER" />   </intent-filter>  </activity>  <activity android:name=".AlarmActivity" />  <!-- android:process=":remote": 新開一個進程 -->  <receiver android:name=".AlarmReceiver" android:process=":remote"/> </application> <uses-sdk android:minSdkVersion="7" /></manifest>

AlarmReceiver類:

package com.ljq.activity;import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;public class AlarmReceiver extends BroadcastReceiver{ @Override public void onReceive(Context context, Intent intent) {  Intent i=new Intent(context, AlarmActivity.class);  i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);  context.startActivity(i); }}

AlarmActivity類:

package com.ljq.activity;import android.app.Activity;import android.app.AlertDialog;import android.content.DialogInterface;import android.content.DialogInterface.OnClickListener;import android.os.Bundle;public class AlarmActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) {  super.onCreate(savedInstanceState);  //顯示對話框  new AlertDialog.Builder(AlarmActivity.this).   setTitle("鬧鐘").//設置標題   setMessage("時間到了!").//設置內容   setPositiveButton("知道了", new OnClickListener(){//設置按鈕    public void onClick(DialogInterface dialog, int which) {     AlarmActivity.this.finish();//關閉Activity    }   }).create().show(); }}

MainActivity類:

package com.ljq.activity;import java.util.Calendar;import android.app.Activity;import android.app.AlarmManager;import android.app.Dialog;import android.app.PendingIntent;import android.app.TimePickerDialog;import android.content.Context;import android.content.Intent;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.TimePicker;import android.widget.Toast;public class MainActivity extends Activity{ private Button btn=null; private AlarmManager alarmManager=null; Calendar cal=Calendar.getInstance(); final int DIALOG_TIME = 0; //設置對話框id @Override protected void onCreate(Bundle savedInstanceState) {  super.onCreate(savedInstanceState);  setContentView(R.layout.main);  alarmManager=(AlarmManager)getSystemService(Context.ALARM_SERVICE);  btn=(Button)findViewById(R.id.btn);  btn.setOnClickListener(new View.OnClickListener(){   public void onClick(View view) {    showDialog(DIALOG_TIME);//顯示時間選擇對話框   }  }); } @Override protected Dialog onCreateDialog(int id) {  Dialog dialog=null;  switch (id) {  case DIALOG_TIME:   dialog=new TimePickerDialog(     this,      new TimePickerDialog.OnTimeSetListener(){      public void onTimeSet(TimePicker timePicker, int hourOfDay,int minute) {       Calendar c=Calendar.getInstance();//獲取日期對象        c.setTimeInMillis(System.currentTimeMillis());  //設置Calendar對象       c.set(Calendar.HOUR, hourOfDay);  //設置鬧鐘小時數       c.set(Calendar.MINUTE, minute);   //設置鬧鐘的分鐘數       c.set(Calendar.SECOND, 0);    //設置鬧鐘的秒數       c.set(Calendar.MILLISECOND, 0);   //設置鬧鐘的毫秒數       Intent intent = new Intent(MainActivity.this, AlarmReceiver.class); //創建Intent對象       PendingIntent pi = PendingIntent.getBroadcast(MainActivity.this, 0, intent, 0); //創建PendingIntent       //alarmManager.set(AlarmManager.RTC_WAKEUP, c.getTimeInMillis(), pi);  //設置鬧鐘       alarmManager.set(AlarmManager.RTC_WAKEUP, System.currentTimeMillis(), pi);  //設置鬧鐘,當前時間就喚醒       Toast.makeText(MainActivity.this, "鬧鐘設置成功", Toast.LENGTH_LONG).show();//提示用戶      }     },      cal.get(Calendar.HOUR_OF_DAY),      cal.get(Calendar.MINUTE),     false);   break;  }  return dialog; }}

運行結果:

希望本文所述對大家的Android程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 焉耆| 蓝田县| 花垣县| 石渠县| 辽中县| 马关县| 文成县| 富蕴县| 云南省| 东平县| 大足县| 绿春县| 雷山县| 泾源县| 密云县| 尼勒克县| 多伦县| 河西区| 华蓥市| 海伦市| 宁夏| 青河县| 于都县| 榕江县| 尤溪县| 石台县| 巴塘县| 澳门| 弥勒县| 延吉市| 芮城县| 阜城县| 牟定县| 剑河县| 南川市| 五家渠市| 海门市| 章丘市| 阳东县| 阿克| 漾濞|