1. android鬧鍾響起事件可以監聽到嗎,應該怎麼用
類似以下method中的寫法
<pre class="brush:java; toolbar: true; auto-links: false;">// Schele timer task within Alarm
private void scheleTask(Message message) {
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.YEAR, whenMap.get("year"));
calendar.set(Calendar.MONTH, whenMap.get("month"));
calendar.set(Calendar.DAY_OF_MONTH, whenMap.get("day"));
calendar.set(Calendar.HOUR_OF_DAY, whenMap.get("hour"));
calendar.set(Calendar.MINUTE, whenMap.get("min"));
calendar.set(Calendar.SECOND, whenMap.get("sec"));
Intent intent = new Intent(this, AlarmReceiver.class);
intent.putExtra("textContact", message.getTextContact().trim());
intent.putExtra("textWhen", message.getTextWhen());
intent.putExtra("textContent", message.getTextContent());
// Different requestCode can lead to different PendingIntent
PendingIntent pendingIntent = PendingIntent.getBroadcast(this,
(int) calendar.getTimeInMillis(), intent, PendingIntent.FLAG_UPDATE_CURRENT);
AlarmManager am = (AlarmManager) getSystemService(ALARM_SERVICE);
ArrayList<PendingIntent> intentArray = new ArrayList<PendingIntent>();
// AlarmManager.RTC_WAKEUP can be executed when CPU sleep
// AlarmManager.RTC can't be executed when CPU sleep
am.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), pendingIntent);
}</pre>
<br>
2. android的鬧鈴那的鈴聲怎麼設置
工個: 鈴聲多多 安卓手機 方法如下: 打開軟體,搜索自己喜歡的鈴聲,點搜索,選好後,點設置 可以把選擇的鈴聲設置為以下三個功能,點確定 下面可以為設置後的效果圖,設置的為來電鈴聲
3. android 鬧鍾設置的幾種方法
鬧鍾創建方法:功能表-時鍾-鬧鍾-創建鬧鍾
關機鬧鍾:功能表-時鍾-鬧鍾-菜單-鬧鍾前開機-鬧鍾前開機打鉤。
若您需添加多個鬧鍾,建議您操作應用程序—時鍾—鬧鍾—點「+」號創建鬧鍾,設置好後點擊存儲。再點「+」即可再創建一個鬧鍾。
4. 求安卓鬧鍾原理,求詳細
請參考下面的這篇【android鬧鍾實現原理】文章,也許對你有啟示。
我們來看看新建鬧鍾到鬧鍾響鈴的步驟:
1、新建一個鬧鍾:
01
// 獲得AlarmManager實例
02
final AlarmManager am = (AlarmManager) getSystemService(ALARM_SERVICE);
03
04
// 實例化Intent
05
Intent intent = new Intent();
06
// 設置Intent action屬性
07
intent.setAction("com.test.BC_ACTION");
08
intent.putExtra("msg", "該去開會啦!");
09
// 實例化PendingIntent
10
final PendingIntent pi = PendingIntent.getBroadcast(MainActivity.this, 0,
11
intent, 0);
12
// 獲得系統時間
13
final long time = System.currentTimeMillis();
14
am.set(AlarmManager.RTC_WAKEUP, time+5000, sender);//5秒後鬧鈴
15
16
// 設置按鈕單擊事件
17
setBtn.setOnClickListener(new OnClickListener() {
18
@Override
19
public void onClick(View v) {
20
// 重復提示,從當前時間開始,間隔5秒
21
am.setRepeating(AlarmManager.RTC_WAKEUP, time,
22
5 * 1000, pi);
23
}
24
});
在AndroidMainfest.xml里注冊廣播接收器
1
<receiver android:name="MyReceiver">
2
<intent-filter>
3
<action android:name="com.test.BC_ACTION"/>
4
</intent-filter>
5
</receiver>
2、定義一個AlarmReceiver extends BroadcastReceiver接收廣播,並彈出鬧鍾提醒視圖。
上面用到一個AlarmManage,我們分別來看看它的處理鬧鍾流程和作用及例子。
處理鬧鍾流程:對應AlarmManage有一個AlarmManagerServie服務程序,該服務程序才是正真提供鬧鈴服務的,它主要遍歷鬧鈴列表並設置即將觸發的鬧鈴給鬧鈴設備,並且一直監聽鬧鈴設備,一旦有鬧鈴觸發或者是鬧鈴事件發生,AlarmManagerServie服務程序就會遍歷鬧鈴列表找到相應的注冊鬧鈴並發出廣播。
作用及例子:AlarmManage中文名鬧鍾,或者叫做「全局定時器」更合適,它的作用和Timer類似,有兩種使用方法:1、在特定時長後(特定時間)執行某任務;2、周期性的執行某任務,AlarmManager對象配合Intent使用,可以定時的開啟一個Activity,發送一個BroadCast,或者開啟一個Service.
(1)在指定時長後(特定時間)執行某項操作
01
//操作:發送一個廣播,廣播接收後Toast提示定時操作完成
02
Intent intent =new Intent(Main.this, alarmreceiver.class);
03
intent.setAction("short");
04
PendingIntent sender=
05
PendingIntent.getBroadcast(Main.this, 0, intent, 0);
06
07
//設定一個五秒後的時間
08
Calendar calendar=Calendar.getInstance();
09
calendar.setTimeInMillis(System.currentTimeMillis());
10
calendar.add(Calendar.SECOND, 5);
11
12
AlarmManager alarm=(AlarmManager)getSystemService(ALARM_SERVICE);
13
alarm.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), sender);
14
//或者以下面方式簡化
15
//alarm.set(AlarmManager.RTC_WAKEUP, System.currentTimeMillis()+5*1000, sender);
16
17
Toast.makeText(Main.this, "五秒後alarm開啟", Toast.LENGTH_LONG).show();
(2)周期性的執行某項操作
01
Intent intent =new Intent(Main.this, alarmreceiver.class);
02
intent.setAction("repeating");
03
PendingIntent sender=PendingIntent
04
.getBroadcast(Main.this, 0, intent, 0);
05
06
//開始時間
07
long firstime=SystemClock.elapsedRealtime();
08
09
AlarmManager am=(AlarmManager)getSystemService(ALARM_SERVICE);
10
//5秒一個周期,不停的發送廣播
11
am.setRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP
12
, firstime, 5*1000, sender);
AlarmManager的取消:(其中需要注意的是取消的Intent必須與啟動Intent保持絕對一致才能支持取消AlarmManager)
1
Intent intent =new Intent(Main.this, alarmreceiver.class);
2
intent.setAction("repeating");
3
PendingIntent sender=PendingIntent
4
.getBroadcast(Main.this, 0, intent, 0);
5
AlarmManager alarm=(AlarmManager)getSystemService(ALARM_SERVICE);
6
alarm.cancel(sender);
AlarmManager還將鬧鍾分為五種類型:
1
public static final int ELAPSED_REALTIME
//當系統進入睡眠狀態時,這種類型的鬧鈴不會喚醒系統。直到系統下次被喚醒才傳遞它,該鬧鈴所用的時間是相對時間,是從系統啟動後開始計時的,包括睡眠
時間,可以通過調用SystemClock.elapsedRealtime()獲得。系統值是3 (0x00000003)。
1
public static final int ELAPSED_REALTIME_WAKEUP
//能喚醒系統,用法同ELAPSED_REALTIME,系統值是2 (0x00000002) 。
1
public static final int RTC
//當系統進入睡眠狀態時,這種類型的鬧鈴不會喚醒系統。直到系統下次被喚醒才傳遞它,該鬧鈴所用的時間是絕對時間,所用時間是UTC時間,可以通過調用
System.currentTimeMillis()獲得。系統值是1 (0x00000001) 。
1
public static final int RTC_WAKEUP
//能喚醒系統,用法同RTC類型,系統值為 0 (0x00000000) 。
1
Public static final int POWER_OFF_WAKEUP
//能喚醒系統,它是一種關機鬧鈴,就是說設備在關機狀態下也可以喚醒系統,所以我們把它稱之為關機鬧鈴。使用方法同RTC類型,系統值為4 (0x00000004)。
參考資料:http://my.oschina.net/helu/blog/141733
5. android鬧鍾響起事件可以監聽到嗎,應該怎麼
設置鬧鍾與獲得當前時間,下面代碼中都用 import java_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; } }
6. android 第三方鬧鍾APP怎麼做到精確提醒
方法:public void setExact(int type, long triggerAtMillis, PendingIntent operation) 在精確時間喚醒,不過除了鬧鍾計時這類需要精確的盡量少用。
倒計時可以triggerAtMillis=currentMillis+30*60*1000
7. 用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" />,這也是鬧鍾程序的關鍵,如果不做這個配置,那麼時間到了之後,鬧鍾將不會提示。
接下來就是到模擬器上測試,運行截圖如上圖。程序源代碼見附件。
8. android手機鬧鍾鈴聲是怎麼設置的
一般Android手機具有四種鈴聲可以設置,分別為:來電、簡訊、鬧鍾、系統等種類鈴聲,具體的設置編制為:
1:先打開Android手機的內存卡盤,在裡面成立個「media」文件夾,然後打開後成立個「audio」文件夾。
2:打開「audio」文件夾後,在裡面非別成立「ringtones」(來電)、「notifications」(簡訊)、「alarms」(鬧鍾)、 「ui」(系統提示)。
3:然後遵循本身的需要將鈴聲存放到這幾個文件夾中。
4:打開Android手機,在「菜單」-「設置」-「聲音」這里便可以自行進行選擇了。
【首要提示:把文件夾設置好,在把要設置的鈴聲放進指定文件夾後重啟手機後,在進進設置里往設置,便可以選擇剛才放進的鈴聲了〔簡訊鈴聲設置編制—進進簡訊內—按菜單鍵—進進設置里便可以設置簡訊鈴聲了〕
9. android 如何實現一個 用音樂提醒的 鬧鍾(一定是音樂提醒的!)
寫代碼挺費時間的,懶得寫,我就說說思路,你建一個類繼承子BroadcastReceiver,復寫onReceive方法,在裡面寫監聽系統時間的代碼用於跟你鬧鍾設置時間進行匹配,當匹配上時,創建MediaPlayer對象,播放你要播放的音樂,音樂文件可以放在Res/raw目錄下,也可是在SD卡中,使用不同的方法即可。設鬧鍾的Activity找找例子,寫出來應該不難。
10. android中鬧鍾程序是怎樣監聽系統時間的
windows應用程序 都是通過調用API 實現 功能的
你要做的功能 很簡單
CTime tm;
tm=CTime::GetCurrentTime();
然後 判斷tm 這個時間 是不是 你定的鬧鍾時間
是則 調用 MMplay() 吧 放一首歌就是了
智能機也一樣
不管是什麼平台 都有API 提供 你查一下 手冊