android10開發者選項,android點滴之PendingIntent的使用

 2023-10-06 阅读 24 评论 0

摘要:一概念 PendingIntent就是一個能夠在滿足一定條件下運行的Intent,它相比于Intent的優勢在于自己攜帶有Context對象。這樣他就不必依賴于某個activity才干夠存在。 它和Intent的主要差別在于Intent的運行立馬的,而pendingIntent的運行不是立馬的。pendingIntent

一概念

PendingIntent就是一個能夠在滿足一定條件下運行的Intent,它相比于Intent的優勢在于自己攜帶有Context對象。這樣他就不必依賴于某個activity才干夠存在。
它和Intent的主要差別在于Intent的運行立馬的,而pendingIntent的運行不是立馬的。pendingIntent運行的操作實質上是參數傳進來的Intent的操作。可是使用pendingIntent的目的在于它所包括的Intent的操作的運行是須要滿足某些條件的。

二實質

PendingIntent能夠看作是對Intent的包裝。PendingIntent主要持有的信息是它所包裝的Intent和當前ApplicationContext

正因為

PendingIntent中保存有當前ApplicationContext,使它賦予帶他程序一種運行的Intent的能力,就算在運行時當前Application已經不存在了,也能通過存在PendingIntent里的Context照樣運行Intent

android10開發者選項?


三常見使用場景及代碼

1.定時鬧鐘
PendingIntent pi1 = PendingIntent.getBroadcast(context,AutoTimeringBroadcast1.class,1);//創建意圖
AlarmManager am = (AlarmManager)context.getSystemService(Context.ALARM_SERVICE);am.setRepeating(AlarmManager.RTC_WAKEUP,time,1000*60*60*24, pi);//time為目標時間毫秒值。反復運行就可以

2.通知點擊打開界面
NotificationManager mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE)
int icon = android.R.drawable.stat_notify_chat;
long when = System.currentTimeMillis();//通知發生的時間為系統當前時間
//新建一個通知,指定其圖標和標題
Notification notification = new Notification(icon, null, when);//第一個參數為圖標,第二個參數為短暫提示標題,第三個為通知時間
notification.defaults = Notification.DEFAULT_SOUND;//發出默認聲音
notification.flags |= Notification.FLAG_AUTO_CANCEL;//點擊通知后自己主動清除通知
Intent openintent = new Intent(this, OtherActivity.class);
PendingIntent contentIntent = PendingIntent.getActivity(this, 0, openintent, 0);//當點擊消息時就會向系統發送openintent意圖
notification.setLatestEventInfo(this, “標題”, “我是內容", contentIntent);//點擊后做的事情就是contentIntent的任務mNotificationManager.notify(0, notification);//第一個參數為自己定義的通知唯一標識,發出這個通知!
3.發送短信后獲取回執

SmsManager的用于發送短信的方法:

sendTextMessage(destinationAddress, scAddress, text, sentIntent, deliveryIntent);

第一個參數:destinationAddress?對方手機號碼

第二個參數:scAddress?短信中心號碼?一般設置為空

第三個參數:text?短信內容

第四個參數:sentIntent推斷短信是否發送成功,假設你沒有SIM卡,或者網絡中斷。則能夠通過這個itent來推斷。注意強調的是“發送”的動作是否成功。

那么至于對于對方是否收到,另當別論

第五個參數:deliveryIntent當短信發送到收件人時。會收到這個deliveryIntent。即強調了“發送”后的結果

就是說是在"短信發送成功""對方收到此短信"才會激活?sentIntentdeliveryIntent這兩個Intent

android studio運行、這也相當于是延遲運行了Intent




轉載于:https://www.cnblogs.com/mengfanrong/p/5202210.html

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/5/119646.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息