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

首頁 > 系統 > Android > 正文

Android實現鬧鐘功能小Dome

2019-12-12 03:36:46
字體:
來源:轉載
供稿:網友

鬧鐘鬧不醒的可以自己去調整下,這個最是最基本的

MainActivity

public class MainActivity extends AppCompatActivity {  private AlarmManager alarmManager;  private PendingIntent pendingIntent;  @Override  protected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_main);    //獲取鬧鐘管理者    alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);  }  public void setAlarmOne(View view) {    //獲取當前系統時間    Calendar calendar = Calendar.getInstance();    int huor = calendar.get(Calendar.HOUR_OF_DAY);    int minute = calendar.get(Calendar.MINUTE);    //1 彈出時間對話框    TimePickerDialog timePickerDialog = new TimePickerDialog(this, new TimePickerDialog.OnTimeSetListener() {      @Override      public void onTimeSet(TimePicker view, int i, int i1) {        Calendar c = Calendar.getInstance();        c.set(Calendar.HOUR_OF_DAY, i);        c.set(Calendar.MINUTE, i1);        //2確定好選擇的時間        //3設置鬧鐘        //4當時間一到,將執行的響應        Intent intent=new Intent();        intent.setAction("com.zking.risk_android_alarn_notification.RING");        pendingIntent = PendingIntent.getBroadcast(MainActivity.this,0x101,intent,0);        alarmManager.set(AlarmManager.RTC_WAKEUP,c.getTimeInMillis(), pendingIntent);      }    }, huor, minute, true);    timePickerDialog.show();  }  public void setAlarmCycle(View view) {    //獲取當前系統時間    Calendar calendar=Calendar.getInstance();    int hour=calendar.get(Calendar.HOUR_OF_DAY);    int minute=calendar.get(Calendar.MINUTE);    //01.彈出時間對話框    TimePickerDialog timePickerDialog=new TimePickerDialog(this, new TimePickerDialog.OnTimeSetListener() {      @Override      public void onTimeSet(TimePicker timePicker, int i, int i1) {        Calendar c=Calendar.getInstance();        c.set(Calendar.HOUR_OF_DAY,i);        c.set(Calendar.MINUTE,i1);        //02.確定好選擇的時間        //03.設置鬧鐘        //04.當之間一到,將執行的響應        Intent intent=new Intent();        intent.setAction("com.zking.risk_android_alarn_notification.RING");        pendingIntent = PendingIntent.getBroadcast(MainActivity.this,0x102,intent,0);        alarmManager.setRepeating(AlarmManager.RTC_WAKEUP,c.getTimeInMillis(),5000, pendingIntent);      }    },hour,minute,true);    timePickerDialog.show();  }  public void cancelAlarmCycle(View view){    alarmManager.cancel(pendingIntent);  }}

RingActivity

public class RingActivity extends AppCompatActivity {  private MediaPlayer mediaPlayer;  @Override  protected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_ring);    //播放音樂    mediaPlayer = MediaPlayer.create(this, R.raw.rooster);    mediaPlayer.start();  }  public void close(View view) {    mediaPlayer.stop();    finish();  }}

RingReceived

public class RingReceived extends BroadcastReceiver{  @Override  public void onReceive(Context context, Intent intent) {    if("com.zking.risk_android_alarn_notification.RING".equals(intent.getAction())){      Log.i("test","收到廣播了");      //跳轉到Activity      Intent intent1=new Intent(context,RingActivity.class);      //給Intent設置標志位Flag      intent1.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);      //Intent的組成部分:ComponementName extra Action Data Categlay(分組) Flag      context.startActivity(intent1);    }  }}

activity_main

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_main"  android:layout_width="match_parent" android:layout_height="match_parent"  android:paddingBottom="@dimen/activity_vertical_margin"  android:paddingLeft="@dimen/activity_horizontal_margin"  android:paddingRight="@dimen/activity_horizontal_margin"  android:paddingTop="@dimen/activity_vertical_margin"  android:orientation="vertical"  tools:context="com.zking.risk_android_alarn_notification.MainActivity">  <Button    android:layout_width="wrap_content"    android:layout_height="wrap_content"    android:text="設置鬧鐘(一次)"    android:onClick="setAlarmOne"    />  <Button    android:layout_width="wrap_content"    android:layout_height="wrap_content"    android:text="設置鬧鐘(周期)"    android:onClick="setAlarmCycle"    /><Button  android:layout_width="match_parent"  android:layout_height="wrap_content"  android:text="取消周期鬧鐘"  android:onClick="cancelAlarmCycle"  /></LinearLayout>

actiity_ring

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  xmlns:tools="http://schemas.android.com/tools"  android:id="@+id/activity_ring"  android:layout_width="match_parent"  android:layout_height="match_parent"  android:paddingBottom="@dimen/activity_vertical_margin"  android:paddingLeft="@dimen/activity_horizontal_margin"  android:paddingRight="@dimen/activity_horizontal_margin"  android:paddingTop="@dimen/activity_vertical_margin"  android:orientation="vertical"  tools:context="com.zking.risk_android_alarn_notification.RingActivity"  android:weightSum="1">  <TextView    android:layout_width="wrap_content"    android:layout_height="wrap_content"    android:text="親愛的,該起床了"    android:textSize="30sp"    />  <TimePicker    android:layout_width="324dp"    android:layout_height="378dp"    android:id="@+id/timePicker"    android:layout_weight="0.30" /><Button  android:layout_width="match_parent"  android:layout_height="wrap_content"  android:text="關閉"  android:onClick="close"  /></LinearLayout>

最后的清單配置

 <activity android:name=".RingActivity"></activity>    <receiver android:name=".RingReceived">      <intent-filter>        <action android:name="com.zking.risk_android_alarn_notification.RING"></action>      </intent-filter>    </receiver>

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 合作市| 淳化县| 兴国县| 会泽县| 博客| 衡南县| 淮南市| 呼图壁县| 东方市| 宜君县| 景宁| 扎赉特旗| 沂水县| 濮阳市| 通城县| 翼城县| 建昌县| 广宗县| 临夏市| 合山市| 白城市| 南郑县| 广东省| 迭部县| 阿合奇县| 老河口市| 洛隆县| 承德市| 铁力市| 灌南县| 乐至县| 鄯善县| 溆浦县| 鹰潭市| 武义县| 阜城县| 五大连池市| 龙南县| 凉山| 泗洪县| 抚松县|