网站大量收购闲置独家精品文档,联系QQ:2885784924

广播接收器、服务与讯息提醒.ppt

  1. 1、本文档共49页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
广播接收器、服务与讯息提醒

第12章 廣播接收器、服務與訊息提醒 12-1 系統服務的基礎 12-2 狀態列與訊息提醒 12-3 廣播接收器 12-4 建立本地服務 12-1 系統服務的基礎 – 說明 服務是一個在背景執行的行程,可以執行和活動一樣的工作,只是沒有使用介面,所以不會與使用者互動。例如:播放背景音樂時,之所以不會打斷我們發簡訊或收發電子郵件,因為它是一個在背景執行的服務,才能讓音樂播放不會中斷。 12-1 系統服務的基礎 – 服務的類型 Android的服務(Services)依據使用範圍的不同,可以分為兩種類型,如下所示: 本地服務(Local Service):使用在Android應用程式的內部,主要是實作一些應用程式的耗時任務,例如:下載檔案、播放背景音樂和查询升级資訊等,因為服務是在背景執行,所以不會影響使用者操作應用程式,可以提昇使用者經驗,不會被一些耗時任務中斷。 遠端服務(Remote Services):使用在Android作業系統中不同應用程式之間的服務,簡單的說,這種服務可以被應用程式重複使用,例如:天氣預報服務、定位服務和感應器服務等,應用程式並不需要自行建立這些服務,而只是使用這些遠端服務。 12-1 系統服務的基礎 – 系統服務(System Services) 如同許多現代電腦的作業系統,Android作業系統本身就內建許多系統服務,這些服務在開機後有些就會自動啟動,而且持續執行中,因為它隨時需要提供使用者所需的服務,支援作業系統的正常運作。 Android內建相當多的系統服務,一些常用的系統服務有:定位服務、感應器服務、WIFI服務、藍牙服務、電信服務和警報服務等。 12-1 系統服務的基礎 – 如何使用系統服務 我們可以直接使用Manager類別來使用這些系統服務,在Activity類別是呼叫繼承自Context類別的getSystemService()方法,可以取得系統服務的Manager物件,然後透過Manager物件來存取系統服務。 一般來說,大部分系統服務是使用訂閱/取消訂閱機制來提供Android應用程式所需的服務,換句話說,我們需要註冊Android應用程式為系統服務的通知對象,在Java語言是建立傾聽者物件來實作服務事件的回撥方法(Callbacks Methods),當事件發生時,服務就會呼叫這些回撥方法。 12-1 系統服務的基礎 – 系統服務與電源管理 請注意!因為有些系統服務需要大量電力的供應,換句話說,它會花費較多行動裝置的電力,例如:GPS定位服務和一些感應器服務,為了節省電力,通常只有在真正需要時才會使用這些服務,以活動生命周期來說,建議在onResume()方法註冊服務的傾聽者物件;onPause()方法取消註冊服務的傾聽者物件。 12-2 狀態列與訊息提醒 12-2-1 在狀態列顯示提醒訊息 12-2-2 更多的提醒方式 12-2-1 在狀態列顯示提醒訊息 – 說明 狀態列(Status Bar)是行動裝置最上方的一條橫向的長條區域,「通知服務」(Notification Service)是一種系統服務,可以在狀態列顯示可向下捲動的通知,例如:未接來電,如右圖所示: 12-2-1 在狀態列顯示提醒訊息 – 步驟一:取得通知管理物件 在Android應用程式是使用「通知管理」(Notification Manager)的Manager物件在狀態列顯示提醒訊息和通知,這是一種系統服務,如下所示: NotificationManager notiMgr = (NotificationManager) getSystemService(NOTIFICATION_SERVICE); 上述程式碼呼叫Context物件的getSystemService()方法來取得NotificationManager物件,參數是NOTIFICATON_SERVICE常數。 12-2-1 在狀態列顯示提醒訊息 – 步驟二:建立通知物件 在取得NotificationManager物件後,就可以建立Notification通知物件,不過,我們並不是直接建立Notification物件,而是透過NotificationCompat.Builder物件,如下所示: NotificationCompat.Builder noti = new NotificationCompat.Builder(this) .setSmallIcon(R.drawable.ic_launcher) .setContentTitle(新郵件) .setContentText(你有一封新郵件); 12-2-1 在狀態列顯示提醒訊息

文档评论(0)

youbika + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档