notification

iOS 消息的传递机制

烂漫一生 提交于 2020-01-07 13:14:57
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 转载原地址:http://beyondvincent.com/blog/2013/12/14/124-communication-patterns/ 注1:本文由破船译自 Communication Patterns 。 本文目录如下所示: 可用的机制 做出正确的选择 Framework示例 小结 每个应用程序或多或少,都由一些松耦合的对象构成,这些对象彼此之间要想很好的完成任务,就需要进行消息传递。本文将介绍所有可用的消息传递机制,并通过示例来介绍这些机制在苹果的Framework中如何使用,同时,还介绍了一些最佳实践建议,告诉你什么时机该选择使用什么机制。 虽然这一期的主题是关于Foundation Framework的,不过本文中还介绍了一些超出Foundation Framework(KVO和Notification)范围的一些消息传递机制,另外还介绍了delegation,block和target-action。 大多数情况下,消息传递该使用什么机制,是很明确的了,当然了,在某些情况下该使用什么机制并没有明确的答案,需要你亲自去尝试一下。 本文中,会经常提及接收者[recipient]和发送者[sender]。在消息传递机制中具体是什么意思,我们可以通过一个示例来解释:一个table view是发送者

IOS:NSNotificationCenter 消息通信

喜欢而已 提交于 2020-01-07 06:11:46
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> http://stackoverflow.com/questions/2191594/send-and-receive-messages-through-nsnotificationcenter-in-objective-c 给出了很好的示例: 类TestClass的实现: @implementation TestClass - (void) dealloc { // If you don't remove yourself as an observer, the Notification Center // will continue to try and send notification objects to the deallocated // object. [[NSNotificationCenter defaultCenter] removeObserver:self]; [super dealloc]; } - (id) init { self = [super init]; if (!self) return nil; // Add this instance of TestClass as an observer of the TestNotification. // We tell the

Android 解读Event和Main Log

最后都变了- 提交于 2020-01-04 05:35:03
1 Android P EventLogTags 文件 Android P 9.0.0 所有EventLogTags文件List: system/bt/EventLogTags.logtags system/core/liblog/event.logtags system/core/libsysutils/EventLogTags.logtags system/core/logcat/event.logtags system/core/logd/LogTags.cpp system/core/logd/event.logtags system/core/storaged/EventLogTags.logtags frameworks/base/core/java/android/app/admin/SecurityLogTags.logtags frameworks/base/core/java/android/content/EventLogTags.logtags frameworks/base/core/java/android/net/EventLogTags.logtags frameworks/base/core/java/android/os/EventLogTags.logtags frameworks/base/core/java/android/speech

委托、通知传值的用法与区别

放肆的年华 提交于 2020-01-02 20:33:29
低耦合性是良好程序的特性。低耦合性程序可读性和可维护性比较好。Cocoa中的委托、通知功能可以使低耦合性更易实现,下面结合demo说明如何使用委托、通知进行传值,及委托与通知的区别。 1. 委托传值 委托传值在反向传值中使用。使用委托可以让委托和委托对象之间的关系变得清晰,特别是在委托的方法必须实现时。 委托传值步骤如下: 1.1 在 ChildViewController.h 声明协议,协议内方法默认必须实现。如果想选择实现,在方法前用 @optional 标志出来。 #import <UIKit/UIKit.h> @protocol ChildVCDelegate <NSObject> - (void)didReceiveText:(NSString *)string; @optional - (void)receiveTextFailedWithError:(NSError *)error; @end 1.2 在 ChildViewController.h 接口部分创建一个 ChildVCDelegate 类型的实例变量。此时的特性应该使用 weak ,否则会造成循环引用。 #import <UIKit/UIKit.h> @protocol ChildVCDelegate <NSObject> - (void)didReceiveText:(NSString *)string

startForegroundService() did not then call Service.startForeground()

为君一笑 提交于 2019-12-27 05:36:51
项目在部分9.0手机运行报错:startForegroundService() did not then call Service.startForeground() 查资料发现:是因为8.0以上系统不允许后台应用启动后台服务。所以需要把后台服务设置为前台服务。 并且修改service启动函数。 Intent intent = new Intent(getApplicationContext(), PlayerMusicService.class); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { startForegroundService(intent); } else { startService(intent); } 在service的onCreate中加入 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { Notification noti = new Notification(); noti.flags = Notification.FLAG_NO_CLEAR | Notification.FLAG_ONGOING_EVENT; startForeground(1, noti); } 有部分人说有时候还是会报错,可以在onStart

Android 报Notification.Builder is deprecated

喜夏-厌秋 提交于 2019-12-27 01:14:02
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> ``` notification = new Notification.Builder(this) .setContentTitle(mMusicModel.getName()) .setContentText(mMusicModel.getAuthor()) .setSmallIcon(R.mipmap.logo) .setContentIntent(pendingIntent) .build(); ``` 主要是因为8.0后notification加上了channel,所以应该写成这样 ``` notification = new NotificationCompat.Builder(this, CHANNEL_ID) .setContentTitle(mMusicModel.getName()) .setContentText(mMusicModel.getAuthor()) .setSmallIcon(R.mipmap.logo) .setContentIntent(pendingIntent) .build(); ``` 参考: https://blog.csdn.net/qq_34262794/article/details/78851134 来源: oschina 链接: https://my

一起学Windows Phone 7开发(十二.Push Notification)

回眸只為那壹抹淺笑 提交于 2019-12-25 02:57:28
一. 简介 Push Notification 是 windows phone 7 中的特色功能之一,这个功能可以变相的让普通开发者实现多任务(尽管并不是真正的多任务)。它为手机端应用和 webservice 之间建立了一条专用的、持久的、稳定的通道来推送通知。当通道建立后,手机端应用可以接收 webservice 的任何信息。 二. 分类 对于 Push Notification 主要有三种: 1. Tile Notification: 是可以改变 Quick Lanuch area 内的图标内容(图片,文字等)的方式。不过这个需要把程序 pin to start, 才可以使用。 2. Toast Notification: 是在屏幕上面可以显示一个提示栏的方式。当点击提示栏可以打开应用程序。 3. Raw Notification: 是直接使用 Http 方式来接收( http polling )通知的方式。并且是不可见的,以后台方式传送通知。 对于以上几种通知,都需要一个服务端以 push notification 方式来发送通知, 也就是说要使用 push notification 都需要一个服务端。 三. 创建服务器端 对于服务器端来说,发送不同的通知,都是以 Http 方式发出去的,但是在发送时,需要配置相应的参数,来告诉 Push Notification

android Notification 的使用(锁定通知栏)

对着背影说爱祢 提交于 2019-12-23 10:20:03
近期一直在研究 android 。并一边研究一边做应用。当中遇到了把程序通知常驻在 Notification 栏,而且不能被 clear 掉(就像android QQ一样)的问题。经过研究实现了其功能。现把 Notification 的使用总结例如以下: Notification 的使用须要导入 3 个类 1 2 3 import android.app.PendingIntent; import android.app.NotificationManager; import android.app.Notification; 代码演示样例及说明 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 NotificationManager nm = (NotificationManager)getSystemService(Context.NOTIFICATION_SERVICE); Notification n = new Notification(R.drawable.chat, "Hello,there!" , System.currentTimeMillis()); n.flags = Notification.FLAG_AUTO_CANCEL; Intent i = new Intent(arg0.getContext(),

Android Notification 通知的使用

自古美人都是妖i 提交于 2019-12-23 10:18:33
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 NotificationManager nm = (NotificationManager)getSystemService(Context.NOTIFICATION_SERVICE); Notification n = new Notification(R.drawable.chat, "Hello,there!" , System.currentTimeMillis()); n.flags = Notification.FLAG_AUTO_CANCEL; nm.flags=Notification.FLAG_NO_CLEAR; //可以让通知不被删掉 Intent i = new Intent(arg0.getContext(), NotificationShow. class ); i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP|Intent.FLAG_ACTIVITY_NEW_TASK); //PendingIntent PendingIntent contentIntent = PendingIntent.getActivity( arg0.getContext(), R.string.app_name, i, PendingIntent.FLAG

iOS 消息推送原理及实现Demo

那年仲夏 提交于 2019-12-17 17:56:31
本文转载至 http://www.cnblogs.com/cdts_change/p/3240893.html 一、消息推送原理: 在实现消息推送之前先提及几个于推送相关概念,如下图 1-1 : 1、 Provider :就是为指定 IOS 设备应用程序提供 Push 的服务器,(如果 IOS 设备的应用程序是客户端的话,那么 Provider 可以理解为服务端 [ 消息的发起者 ] ); 2、 APNS : Apple Push Notification Service[ 苹果消息推送服务器 ] ; 3、 iPhone :用来接收 APNS 下发下来的消息; 4、 Client App : IOS 设备上的应用程序,用来接收 iphone 传递 APNS 下发的消息到制定的一个客户端 app[ 消息的最终响应者 ] ; 上图可以分为三个阶段: 阶段一: Provider[ 服务端 ] 把要发送的消息,目的 IOS 设备标识打包,发送给 APNS ; 阶段二: APNS 在自身的已注册 Push 服务的 IOS 设备列表中,查找有相应标识的 IOS 设备,并将消息发送到 IOS 设备; 阶段三: IOS 设备把发送的消息传递给对应的应用程序,并且按照设定弹出 Push 通知。 具体过程,如下图 1-2 : 1、 [Client App] 注册消息推送; 2、 [Client App