当前位置:首页 » 安卓系统 » android闹钟代码

android闹钟代码

发布时间: 2022-09-28 01:46:42

‘壹’ android开发小闹钟

权限:一直可运行在后台的乱七八糟的权限

视图:没有其他布局就写个假的。一个切换按钮就行。

activity里需要Time,定时器,简单粗暴的就是定时器每一分钟获取一次Time.hour。然后匹配7点整。直到定时器匹配到7点,然后获取系统音效还是你怎么样,开始响铃/震动(这部分代码简单)。如果是只提醒一次,在响铃后关闭定时器。防止内存泄漏

主要是你要能让他在后台运行,或者是你的定时器在activity销毁之后不销毁

两个链接你看看网页链接,网页链接

‘贰’ android 开发中怎么设置闹铃和获取当前时间

设置闹钟与获得当前时间,下面代码中都用
import java.util.Calendar;
import android.app.Activity;
import android.app.AlarmManager;
import android.app.PendingIntent;
import android.app.TimePickerDialog;
import android.app.TimePickerDialog.OnTimeSetListener;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
import android.widget.TimePicker;

public class MainActivity extends Activity {

private TextView tv_text;
private Button btn_set;
private Button btn_close;

private Calendar calendar;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

tv_text = (TextView) findViewById(R.id.tv_text);
btn_set = (Button) findViewById(R.id.btn_set);
btn_close = (Button) findViewById(R.id.btn_close);

calendar = Calendar.getInstance();

/**设置闹钟*/
btn_set.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
//设置当前时间
calendar.setTimeInMillis(System.currentTimeMillis());
//获取小时
int hour = calendar.get(Calendar.HOUR_OF_DAY);
//获取分钟
int minute = calendar.get(Calendar.MINUTE);

/**时间对话框*/
new TimePickerDialog(MainActivity.this, new OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
//设置当前时间
calendar.setTimeInMillis(System.currentTimeMillis());
calendar.set(Calendar.HOUR_OF_DAY, hourOfDay);//设置小时
calendar.set(Calendar.MINUTE, minute); //设置分钟
calendar.set(Calendar.SECOND, 0); //设置秒数
calendar.set(Calendar.MILLISECOND, 0); //设置毫秒

/**建立Intent和PendingIntent,来调用目标组件*/
Intent intent = new Intent(MainActivity.this, MyReceiver.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(MainActivity.this, 0, intent, 0);

/**获取闹钟管理的实例*/
AlarmManager am = (AlarmManager) getSystemService(ALARM_SERVICE);
/**设置闹钟*/
am.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), pendingIntent);
/**设置周期闹钟*/
am.setRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis()+(10*1000), (24*60*60*1000), pendingIntent);

String tmps = "设置闹钟时间为"+format(hourOfDay)+":"+format(minute);

tv_text.setText(tmps);
}
}, hour, minute, true).show();
}
});

/**取消闹钟*/
btn_close.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this, MyReceiver.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(MainActivity.this, 0, intent, 0);
AlarmManager am = (AlarmManager) getSystemService(ALARM_SERVICE);
am.cancel(pendingIntent);
tv_text.setText("闹钟已取消...");
}
});
}

/**格式转换:7:3--->07:03 */
private String format(int x){
String s=""+x;
if(s.length() ==1){
s="0"+s;
}
return s;
}
}

‘叁’ 求大神一句句翻译下代码,这是一个android里小闹钟的一段

public void setListener() { //定义一个不用返回值的方法setListener()
mSet.setOnClickListener(new View.OnClickListener() { //给mSet设置单击监听器,实例化一个单击监听器
public void onClick(View v) {//实现监听器的单击方法
mCalendar.setTimeInMillis(System.currentTimeMillis());//将一个日历实例的时间设置为当前系统时间
int mHour = mCalendar.get(Calendar.HOUR_OF_DAY);//获取实例的小时
int mMinute = mCalendar.get(Calendar.MINUTE);//获取实例的分钟
new TimePickerDialog(ClockDemo.this,//新建一个TimePickerDialog实例
new TimePickerDialog.OnTimeSetListener() {//新建一个TimePickerDialog实例的设置时间的监听器
public void onTimeSet(TimePicker view,
int hourOfDay, int minute) {//实现监听器类的设置时间的方法
mCalendar.setTimeInMillis(System
.currentTimeMillis());//将mCalendar的时间设置为系统当前时间的毫秒
mCalendar.set(Calendar.HOUR_OF_DAY, hourOfDay);//将mCalendar的小时设置为通过timePicker设置的小时值
mCalendar.set(Calendar.MINUTE, minute);//将mCalendar的分钟设置为通过timePicker设置的分钟值
mCalendar.set(Calendar.SECOND, 0);//将mCalendar的秒设置为0
mCalendar.set(Calendar.MILLISECOND, 0);//将mCalendar的毫秒设置为0
ObjectPool.mAlarmHelper.openAlarm(32, "ddd",
"ffff", mCalendar.getTimeInMillis()); //设置闹钟
}
}, mHour, mMinute, true).show();//显示闹钟
}
});
}
你给的这段代码不完整

‘肆’ android 闹钟设置的几种方法

vivo手机设置闹钟方法:
进入闹钟时钟 → 点击右上角“+”,编辑添加新的闹钟;
OriginOS系统可直接点击桌面闹钟组件语音图标或进入闹钟--右上角语音图标,可以语音创建闹钟;
贪睡小助手 (部分机型支持):进入闹钟时钟--点击需要设置的闹钟--贪睡,开启“贪睡小助手”功能,闹钟贪睡超过5次将自动发送信息给指定的联系人;
闹钟铃声:
OriginOS系统:进入闹钟时钟--点击单个闹钟--更多设置--提醒方式--设置铃声即可;
Funtouch OS/iQOO UI系统:进入闹钟时钟--点击需要设置的闹钟--铃声,选择自定义铃声或者系统备选铃声;
语音播报:进入闹钟时钟--点击需要设置的闹钟--开启“语音播报”,在手动关闭闹钟后,系统将自动为您语音播报当天的天气。

‘伍’ 基于android的闹钟如何添加和删除

一、本课题要求:设计一个基于Android的闹钟的软件。

实现的功能有:能通过界面设置闹钟的启动条件建立后台服务进程,当满足触发条件时,闹钟响应相应事件。

二、需求分析

该课题实现在手机操作系统Android闹钟提醒功能,携带方便,使用起来灵活、快捷、省心,是一款实用的手机软件。“手机闹钟”可以在后台运行,且能和普通闹钟一样设置多个位置闹铃,有良好的人机交互界面,可对其编辑、启用或禁用,关键在于可以自定义设置取消闹钟的操作。

(1)系统体系结构包括:添加闹铃、设置时间、重复等,闹铃提醒方式,返回首页。

(2)用户界面设计

解除闹铃代码

(2)代码分析

开发手机闹钟主要用到了AlarmManager类,AlarmManager类提供了访问系统定时服务的途径,开发人员可以在程序中设置某个应用程序在未来的某个时刻被执行。当AlarmManager定时时间到了之后,当初注册的Intent对象将会被系统广播,进而启动目标程序。注册的闹钟在设备睡眠的时候仍然会保留,可以选择性地设置是否唤醒设备,但是当设备关机和重启后,闹钟将会被清除。

在程序运行时当需要使用AlarmManager类时,可以通过Context对象的getSystemService(Context.ALARM_SERVICE)方法来获得AlarmManager对象。

闹钟使用的Demo:com.example.android.apis.app.AlarmController其中设定了两种闹钟,一种是一次性的,一种是重复的。

四、总结

在这个过程中,我学会了很多知识,比如Android环境的搭建和配置问题、Android的构架和基本组建等,同时我学会的最重要的一点是,要利用现有的资源去解决问题,在图书馆、在网络上寻找答案,也可以请教老师或与同学相互讨论。虽然,这个软件目前运行良好,但是我认为代码的健壮还很差,在整个工程的构思方面也不足,用户操作界面还不够灵活,这些问题还需要今后逐一解决。与此同时,这个软件还可以进一步扩展,例如通过Android Api获取位置信息,并在指定地点设置闹钟提醒等,使功能更加强大,带给用户更好的体验与便捷的生活服务。

‘陆’ android 如何实现一个 用音乐提醒的 闹钟(一定是音乐提醒的!)

写代码挺费时间的,懒得写,我就说说思路,你建一个类继承子BroadcastReceiver,复写onReceive方法,在里面写监听系统时间的代码用于跟你闹钟设置时间进行匹配,当匹配上时,创建MediaPlayer对象,播放你要播放的音乐,音乐文件可以放在Res/raw目录下,也可是在SD卡中,使用不同的方法即可。设闹钟的Activity找找例子,写出来应该不难。

‘柒’ android闹钟实现,不响……

AlarmManager 的运行需要程序活着,比如在前台或者后台活着,你退出程序后还会有一个空进程在运行,时间到了就会响。

但是!但是!如果你在设置中“停止运行”了这个程序,或者使用360清理一类的清理内存的软件,或者某些软件有自动清理内存功能,或者有拦截自启动功能,或者内存低了,等等等等原因,导致你的程序没办法处于活动状态,那么AlarmManager就算到时间了也不会运行……

好的解决方法是在你的程序中写个广播接收器,接受多个广播,比如接受开机启动,网络发生变化,时区时间变化,等等广播,然后接受广播后拉起后台服务,这样你就能尽可能保证程序处于活动状态,并且要在360等权限管理软件中允许自启动。

望采纳

‘捌’ 用Android studio做一个可以运行的小程序,闹钟也行,然后可以连到手机,感谢大神。

环境搭建就不讲了,直接说开发。

小闹钟程序开发中的要点就是:

1、时间选择对话框(TimePicker)

2、获取闹钟管理器并对其进行设置

3、注册广播接收器

掌握了这两点,写程序就很简单了。

1、新建android项目:Alarm,sdk版本选择2.2,Package name:com.lql.activity,Main Activity:Alarm

2、编写界面:直接修改layout中的main.xml文件,代码如下:

Xml代码

  • <?xmlversion="1.0"encoding="utf-8"?>

  • <LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"

  • android:orientation="vertical"

  • android:layout_width="fill_parent"

  • android:layout_height="fill_parent"

  • android:gravity="center_vertical"

  • >

  • <Button

  • android:id="@+id/timeBtn"

  • android:layout_width="fill_parent"

  • android:layout_height="wrap_content"

  • android:text="@string/time"

  • android:textSize="20sp"

  • />

  • <Button

  • android:id="@+id/cancelAlarmBtn"

  • android:layout_width="fill_parent"

  • android:layout_height="wrap_content"

  • android:text="@string/cancelAlarm"

  • />

  • </LinearLayout>

  • 界面的效果如下:


  • {

  • /*(non-Javadoc)

  • *@seeandroid.content.BroadcastReceiver#onReceive(android.content.Context,android.content.Intent)

  • */

  • @Override

  • publicvoidonReceive(Contextarg0,Intentdata){

  • Log.d(Alarm.TAG,"thetimeisup,startthealarm...");

  • Toast.makeText(arg0,"闹钟时间到了!",Toast.LENGTH_SHORT).show();

  • }

  • }

  • 这个代码就很简单了,主要是要继 承BroadcastReceiver 这个类,然后重写onRecive方法。onRecive方法在闹钟的时间达到之后会执行,在这里我们可以做自己的事情,比如启动某个程序,或者播放铃声,我这里就是简单的提示一下,使用的是Toast。

    5、在android的AndroidManifest.xml文件中注册广播接收器:

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

    Xml代码

  • package="com.ql.activity"

  • android:versionCode="1"

  • android:versionName="1.0">

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

  • <receiverandroid:name=".AlarmReceiver"android:process=":remote"/>

  • <activityandroid:name=".Alarm"

  • android:label="@string/app_name">

  • <intent-filter>

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

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

  • </intent-filter>

  • </activity>

  • </application>

  • <uses-sdkandroid:minSdkVersion="8"/>

  • </manifest>

  • 核心的配置为<receiver android:name=".AlarmReceiver" android:process=":remote" />,这也是闹钟程序的关键,如果不做这个配置,那么时间到了之后,闹钟将不会提示。

    接下来就是到模拟器上测试,运行截图如上图。程序源代码见附件。

‘玖’ android中如何实现定时提醒

android中可以使用闹钟进行提醒,你只需要告知系统你想在什么时候被提醒,然后需要一个闹钟的广播接收器,当到你设置的时间时,系统会给你发送一条广播,当你接收到广播后你就可以做一些操作,比如启动你的app,或者跳转到你app中的任何一个界面。代码如下:

//发送闹钟请求
Intent intent = new Intent(mContext, AlarmReceiver.class);
intent.setAction("something");
intent.setType("something");
intent.setData(Uri.EMPTY);
intent.addCategory(“something”);
intent.setClass(context, AlarmReceiver.class);
// 以上给intent设置的四个属性是用来区分你发给系统的闹钟请求的,当你想取消掉之前发的闹钟请求,这四个属性,必须严格相等,所以你需要一些比较独特的属性,比如服务器返回给你的json中某些特定字段。
//当然intent中也可以放一些你要传递的消息。
PendingIntent pendingIntent = PendingIntent.getBroadcast(context, alarmCount, intent, 0);
//alarmCount是你需要记录的闹钟数量,必须保证你所发的alarmCount不能相同,最后一个参数填0就可以。
AlarmManager am = (AlarmManager) mContext.getSystemService(Context.ALARM_SERVICE);
am.set(AlarmManager.RTC_WAKEUP, time, pendingIntent);
//这样闹钟的请求就发送出去了。time是你要被提醒的时间,单位毫秒,注意不是时间差。第一个参数提醒的需求用我给出的就可以,感兴趣的朋友,可以去google一下,这方面的资料非常多,一共有种,看一下就知道区别了。
//取消闹钟请求
Intent intent = new Intent(mContext, AlarmReceiver.class);
intent.setAction("something");
intent.setType(something);
intent.setData(Uri.EMPTY);
intent.addCategory(something);
intent.setClass(context, AlarmReceiver.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(mContext, alarmCount, intent, 0);
//alarmCount对应到你设定时的alarmCount,
AlarmManager am = (AlarmManager) mContext.getSystemService(Context.ALARM_SERVICE);
am.cancel(pendingIntent);
//接着,你需要一个广播接收的类:
public class AlarmReceiver extends BroadcastReceiver{

private NotificationManager manager;

@Override
public void onReceive(Context context, Intent intent) {
manager = (NotificationManager)context.getSystemService(android.content.Context.NOTIFICATION_SERVICE);
//例如这个id就是你传过来的
String id = intent.getStringExtra("id");
//MainActivity是你点击通知时想要跳转的Activity
Intent playIntent = new Intent(context, MainActivity.class);
playIntent.putExtra("id", id);
PendingIntent pendingIntent = PendingIntent.getActivity(context, 1, playIntent, PendingIntent.FLAG_UPDATE_CURRENT);
NotificationCompat.Builder builder = new NotificationCompat.Builder(context);
builder.setContentTitle("title").setContentText("提醒内容").setSmallIcon(R.drawable.app_icon).setDefaults(Notification.DEFAULT_ALL).setContentIntent(pendingIntent).setAutoCancel(true).setSubText("二级text");
manager.notify(1, builder.build());
}
}

‘拾’ android 设置系统闹钟和系统日历提醒

现在有一个定时提醒的功能, 用 AlarmManager 自己来做,有多少坑做过的都知道。(应用被kill, 应用保活,息屏,关机重启,多版本兼容问题。。。)。要自己做一个完善的不是 1-2天就能搞定的。当然如果是应用内简单的定时执行,定时提醒 AlarmManager 还是很好用的。

https://www.jianshu.com/p/1f919c6eeff6

对于这种需求可以调用系统闹钟或用系统日历的提醒事件来做。

日历提醒功能可以直接用 Intent 起日历提醒界面,这样最简单,不需要权限。

调用API 直接设置需要动态申请权限
https://www.cnblogs.com/loaderman/p/10489592.html

https://developer.android.com/guide/topics/providers/calendar-provider

设置系统闹钟需要 SET_ALARM 权限

取消闹钟用 AlarmClock.ACTION_DISMISS_ALARM

热点内容
如何获得打印机无线密码 发布:2024-05-04 06:44:59 浏览:416
上古诸神录哪里改密码 发布:2024-05-04 06:43:55 浏览:261
灌篮高手手游自动盖帽脚本 发布:2024-05-04 06:42:31 浏览:423
javajs引擎 发布:2024-05-04 06:37:33 浏览:796
javalist重复 发布:2024-05-04 06:19:27 浏览:509
max脚本管理 发布:2024-05-04 06:02:31 浏览:44
自行搭建服务器 发布:2024-05-04 06:01:12 浏览:125
h3c如何查看所有配置 发布:2024-05-04 05:26:39 浏览:493
java统计字符串中字母个数 发布:2024-05-04 05:22:58 浏览:888
throwablejava 发布:2024-05-04 05:22:56 浏览:792