展会信息港展会大全

Android中用AlarmManager来设置自己的闹钟Alarm的使用
来源:互联网   发布日期:2015-09-29 10:00:11   浏览:3040次  

导读:本文介绍的是用AlarmManager来设置自己的闹钟,不要忘记用到的类,本文由提到,希望对你有帮助!用AlarmManager来设置自己的闹钟,其中我们主要用到的类有importandroid app AlarmManager; importandroid app P ...

本文介绍的是用AlarmManager来设置自己的闹钟,不要忘记用到的类,本文由提到,希望对你有帮助!

用AlarmManager来设置自己的闹钟,其中我们主要用到的类有

import android.app.AlarmManager;

import android.app.PendingIntent;

import android.app.TimePickerDialog;

这三个是我们必须要用到的类,大家可要记住呀,可不能用错包呀,还有就是最重要的一点,也是大家容易忘了的一点,我们一定要加上权限,这样我们才能 顺利的实现我们想要的效果,代码如下:

java代码:

package eoe.demo;

import android.content.BroadcastReceiver;

import android.content.Context;

import android.content.Intent;

import android.widget.Toast;

public class AlamrReceiver extends BroadcastReceiver {

@Override

public void onReceive(Context context, Intent intent) {

// TODO Auto-generated method stub

Toast.makeText(context, "闹钟时间到", Toast.LENGTH_LONG).show();

}

}

Java代码:

package eoe.demo;

import java.util.Calendar;

import android.app.Activity;

import android.app.AlarmManager;

import android.app.PendingIntent;

import android.app.TimePickerDialog;

import android.content.Intent;

import android.os.Bundle;

import android.view.View;

import android.widget.Button;

import android.widget.TextView;

import android.widget.TimePicker;

public class Test extends Activity {

/** Called when the activity is first created. */

private TextView tv = null;

private Button btn_set = null;

private Button btn_cel = null;

private Calendar c = null;

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

tv = (TextView) this.findViewById(R.id.TextView);

btn_set = (Button) this.findViewById(R.id.Button01);

btn_cel = (Button) this.findViewById(R.id.Button02);

c = Calendar.getInstance();

btn_set.setOnClickListener(new Button.OnClickListener(){

public void onClick(View v) {

// TODO Auto-generated method stub

c.setTimeInMillis(System.currentTimeMillis());

int hour = c.get(Calendar.HOUR_OF_DAY);

int minute = c.get(Calendar.MINUTE);

new TimePickerDialog(Test.this,new TimePickerDialog.OnTimeSetListener(){

public void onTimeSet(TimePicker view, int hourOfDay, int minute) {

// TODO Auto-generated method stub

c.setTimeInMillis(System.currentTimeMillis());

c.set(Calendar.HOUR_OF_DAY, hourOfDay);

c.set(Calendar.MINUTE, minute);

c.set(Calendar.SECOND, 0);

c.set(Calendar.MILLISECOND, 0);

Intent intent = new Intent(Test.this,AlamrReceiver.class);

PendingIntent pi = PendingIntent.getBroadcast(Test.this, 0, intent, 0);

AlarmManager am = (AlarmManager) getSystemService(Activity.ALARM_SERVICE);

am.set(AlarmManager.RTC_WAKEUP, c.getTimeInMillis(), pi);//设置闹钟

am.setRepeating(AlarmManager.RTC_WAKEUP, c.getTimeInMillis(), (10*1000), pi);//重复设置

tv.setText("设置的闹钟时间为:"+hourOfDay+":"+minute);

}

},hour,minute,true).show();

}

});

btn_cel.setOnClickListener(new Button.OnClickListener(){

public void onClick(View v) {

// TODO Auto-generated method stub

Intent intent = new Intent(Test.this,AlamrReceiver.class);

PendingIntent pi = PendingIntent.getBroadcast(Test.this, 0, intent, 0);

AlarmManager am = (AlarmManager) getSystemService(Activity.ALARM_SERVICE);

am.cancel(pi);

tv.setText("闹钟取消");

}

});

}

}

Java代码:

<?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">

<TextView android:layout_width="fill_parent"

android:id="@+id/TextView"

android:layout_height="wrap_content" android:text="@string/hello" />

<Button android:text="设置闹钟" android:id="@+id/Button01"

android:layout_width="wrap_content"

android:layout_height="wrap_content">

</Button>

<Button android:text="取消闹钟" android:id="@+id/Button02"

android:layout_width="wrap_content"

android:layout_height="wrap_content">

</Button>

</LinearLayout>

Java代码:

<?xml version="1.0" encoding="utf-8"?>

<manifest xmlns:android="http://schemas.android.com/apk/res/android"

package="eoe.demo"

android:versionCode="1"

android:versionName="1.0">

<application android:icon="@drawable/icon" android:label="@string/app_name">

<activity android:name=".Test"

android:label="@string/app_name">

<intent-filter>

<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />

</intent-filter>

</activity>

<receiver android:name=".AlamrReceiver" android:process=":remote"></receiver>

</application>

</manifest>

赞助本站

人工智能实验室

相关热词: AlarmManager 闹钟

AiLab云推荐
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港