當前位置:首頁 » 安卓系統 » 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

熱點內容
共享一個ip伺服器 發布:2024-04-23 15:46:26 瀏覽:141
如何打開好萊客密碼鎖 發布:2024-04-23 15:46:22 瀏覽:161
我的世界演戲伺服器房間號 發布:2024-04-23 15:44:11 瀏覽:83
雲伺服器的帶寬有用嗎 發布:2024-04-23 15:39:10 瀏覽:123
老款安卓平板玩吃雞反應慢怎麼辦 發布:2024-04-23 15:20:17 瀏覽:570
小程序全套源碼 發布:2024-04-23 15:07:58 瀏覽:716
伺服器業務ip地址怎麼配 發布:2024-04-23 15:03:05 瀏覽:990
銅排折彎最簡單的演算法 發布:2024-04-23 14:48:53 瀏覽:23
我的世界伺服器倒計時清理指令 發布:2024-04-23 14:21:14 瀏覽:467
五班資料庫 發布:2024-04-23 13:59:57 瀏覽:798