首页 文章 精选 留言 我的

精选列表

搜索[其他],共10021篇文章
优秀的个人博客,低调大师

ios-上拉电阻负载许多其他接口

想尝试拉加载意识到有多少开始了他的研究之旅,我看了两天做出最终的界面。 之所以这么慢是由于,我不知道要将上拉出现的view放在哪。就能在scrollView拉究竟部的时候被拉出来。还有就是怎么拉出来之后停在这里。网上下载样例之后研究了两天: 先说一下,在以下处理图片中橘色view的位置的时候用了kvo进行了监听。 先一个枚举 来指示眼下刷新view是在哪个状态: typedef enum { RefreshStateLoading = 1,//刷新状态为正在载入 RefreshStateRelease, //下拉完毕释放之前 RefreshStateNomal, //原始状态 }RefreshState; 以下一个类view来描写叙述刷新view @interface FootView : UIView @property (nonatomic,strong) UIActivityIndicatorView *activity;//活动指示条 @property (nonatomic,strong) UIImageView *imageView; //箭头图片 @property (nonatomic,strong) UILabel *infolabel; //文字指示 @property (nonatomic,assign) RefreshState refreshState; //刷新的状态 - (void)refreshStateLoading; - (void)refreshStateNomal; - (void)refreshStateRelsease; @end #import "FootView.h" @implementation FootView @synthesize activity; @synthesize imageView; @synthesize infolabel; @synthesize refreshState; - (id)initWithFrame:(CGRect)frame { self = [super initWithFrame:frame]; if (self) { self.backgroundColor = [UIColor orangeColor]; //活动指示器初始化 activity = [[UIActivityIndicatorView alloc]initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray]; activity.frame = CGRectMake(10, 0, 50, 70); [self addSubview:activity]; //箭头图片初始化 imageView = [[UIImageView alloc]initWithFrame:CGRectMake(10, 10, 30, 50)]; imageView.image = [UIImage imageNamed:@"blackArrow.png"]; [self addSubview:imageView]; //信息label初始化 infolabel = [[UILabel alloc]initWithFrame:CGRectMake(100,0 ,100, 70)]; infolabel.text = @"下拉刷新..."; infolabel.font = [UIFont fontWithName:@"Helvetica" size:20]; infolabel.textAlignment = NSTextAlignmentCenter; infolabel.textColor = [UIColor blackColor]; [self addSubview:infolabel]; //设置初始状态 self.refreshState = RefreshStateNomal; } return self; } //初始状态 - (void)refreshStateNomal { self.refreshState = RefreshStateNomal; [self.activity stopAnimating]; self.infolabel.text = @"下拉载入很多其它..."; self.imageView.layer.transform = CATransform3DMakeRotation(M_PI * 2, 0, 0, 1); self.imageView.hidden = NO; } //正在请求数据时 - (void)refreshStateLoading { self.refreshState = RefreshStateLoading; self.imageView.hidden = YES; [UIView beginAnimations:nil context:nil]; self.infolabel.text = @"正在载入..."; [self.activity startAnimating]; [UIView commitAnimations]; } //下拉完毕后 - (void)refreshStateRelsease { self.refreshState = RefreshStateRelease; [UIView beginAnimations:nil context:nil]; self.infolabel.text = @"释放后载入..."; self.imageView.layer.transform = CATransform3DMakeRotation(M_PI, 0, 0, 1); [UIView commitAnimations]; } @end 以下来写table #import <UIKit/UIKit.h> @interface MyTableVC : UITableViewController<UIScrollViewDelegate> @property (nonatomic,strong) NSMutableArray *dataArray;//数据 @end #import "MyTableVC.h" #import "FootView.h" #define TABLE_CELL_HIGHT 50.0 @interface MyTableVC () @end @implementation MyTableVC { FootView *footView; } @synthesize dataArray; - (id)initWithStyle:(UITableViewStyle)style { self = [super initWithStyle:style]; if (self) { } return self; } - (void)viewDidLoad { [super viewDidLoad]; dataArray = [NSMutableArray arrayWithArray:@[@"列表1",@"列表2",@"列表3",@"列表2",@"列表3",@"列表2",@"列表3",@"列表2",@"列表3",@"列表2",@"列表3",@"列表2",@"列表3",@"列表2",@"列表5"]]; [self addPullToRefreshFooter]; } //加入FootView指示器 - (void)addPullToRefreshFooter { //FootView初始化 footView = [[FootView alloc]initWithFrame:CGRectMake(0, dataArray.count*50 , 320, 251)]; [self.tableView addSubview:footView]; //监视数据数组 [self addObserver:self forKeyPath:@"dataArray" options:NSKeyValueObservingOptionNew context:nil]; } #pragma mark - Table view data source - (float)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath { return TABLE_CELL_HIGHT; } - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { return 1; } - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { return dataArray.count; } - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { static NSString *inditifierCell = @"Cell"; UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:inditifierCell]; if (cell == nil) { cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:inditifierCell]; } cell.textLabel.text = [dataArray objectAtIndex:indexPath.row]; return cell; } - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { NSMutableArray *new = [[NSMutableArray alloc]initWithArray:dataArray]; [new addObject:@"张三"]; self.dataArray = new; [footView refreshStateNomal]; self.tableView.contentInset = UIEdgeInsetsMake(0, 0, 0, 0); } #pragma mark - kvo //用于监听dataArray数组来设置footview的位置 - (void) observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context { NSLog(@"%d",dataArray.count); NSMutableArray *mutableArray = [change objectForKey:@"new"]; footView.frame = CGRectMake(0,TABLE_CELL_HIGHT* mutableArray.count, 320, 251); [self.tableView reloadData]; } #pragma mark - Scroller //当scroller滑动时调用 - (void) scrollViewDidScroll:(UIScrollView *)scrollView { if (footView.refreshState == RefreshStateNomal&& scrollView.contentOffset.y > scrollView.contentSize.height - scrollView.frame.size.height + 70) { [footView refreshStateRelsease]; } } //当滑动结束时调用 - (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate { if (footView.refreshState == RefreshStateRelease) { [UIView beginAnimations:nil context:nil]; self.tableView.contentInset = UIEdgeInsetsMake(0, 0, 70, 0); [footView refreshStateLoading]; [UIView commitAnimations]; } } @end 在table中处理一些事件: 为了測试加入数据后footview的位置是否会跟着变动。当点击cell的时候会加入一个数据。 为了測试载入完毕后第二次拖拽是否页面还可以完毕,当点击cell的时候foottview会停止; 下载代码:http://download.csdn.net/detail/u010123208/8036577 版权声明:本文博主原创文章。博客,未经同意不得转载。 本文转自mfrbuaa博客园博客,原文链接:http://www.cnblogs.com/mfrbuaa/p/4890967.html,如需转载请自行联系原作者

优秀的个人博客,低调大师

研究表明,AI 工程师薪酬远超其他同行

Levels.fyi 发布的 2024 年第一季度 AI 工程师薪酬调查数据指出,专门从事 AI 的软件工程师与非 AI 软件工程师的薪资存在明显差异。 按照不同的职级进行比较的话: 入门级 AI 工程师的收入比非 AI 工程师高 8.57%。 普通 AI 工程师的收入比非 AI 工程师高出约 11.19% 高级 AI 工程师比非 AI 工程师要高 10.79% 资深 AI 工程师比非 AI 工程师要高 11.08% 具体来说,入门级 AI工程师的平均薪酬为 239,000 美元,而非 AI工程师的平均薪酬为 221,650 美元。且随着工程师职业的发展,薪酬差异会越来越大。在“高级工程师”这个职级上,像 Cruise 和 Amazon 这样的大公司支付给 AI 工程师的薪水(为 450,000 美元)要比非 AI 工程师(为 427,500 美元)高得多。 在资深工程师级别,Cruise 支付给 AI 工程师的薪水高达 680,500 美元,非 AI 工程师的薪水则仅为 495,000 美元。“很明显,无论你处于哪个职位级别,公司都看重 AI 技能,并愿意为此支付高额报酬。” Levels.fyi 还统计了不同公司之间的薪酬差异,主要关注排名前 20 的公司,及其中 AI 工程师的薪酬水平差异。其中OpenAI 高居榜首并遥遥领先,最低待遇都超过了 90万美元。第二名是韩国电商平台Coupang,但其最高薪资也没有达到 90 万美元。Twitter 在其中排名第七,微软谷歌均未上榜。 按国家/地区进行划分的话,美国 AI 工程师的薪酬大幅领先。中国大陆的 AI 工程师的收入水平处在第 12 名,薪资范围大致在 6-14 万美元之间。 Levels.fyi 这一研究旨在了解市场对 AI 人才的需求如何影响 2024 年的薪酬趋势。报告中的薪酬数据反映的是所收集薪酬总额的中位数,包括工资、股票和奖金。 “随着 AI 人才市场的成熟,公司可能会在招聘实践和薪酬策略方面变得更加谨慎。通过更好地了解 AI 职位所需的技能和资格,公司可能会调整其薪酬方案,使其更贴近市场标准,从而缩小 AI 和非 AI 职位之间的薪酬差距。” 详情可查看完整报告。

优秀的个人博客,低调大师

android 49 广播接收者中启动其他组件

main.xml <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <Button android:id="@+id/btnStartActivity" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="启动 activity" /> <Button android:id="@+id/btnStartService" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="启动service" /> <Button android:id="@+id/btnStopService" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="停止 service" /> </LinearLayout> mainActivity.java package com.sxt.day07_05; import android.os.Bundle; import android.app.Activity; import android.content.Intent; import android.view.Menu; import android.view.View; import android.view.View.OnClickListener; public class MainActivity extends Activity implements OnClickListener{ @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); setListener(); } private void setListener() { findViewById(R.id.btnStartActivity).setOnClickListener(this); findViewById(R.id.btnStartService).setOnClickListener(this); findViewById(R.id.btnStopService).setOnClickListener(this); } @Override public void onClick(View v) { Intent intent=new Intent(); switch (v.getId()) { case R.id.btnStartActivity: intent.setAction("com.sxt.day07_05.start_activity");//发送一条广播,被MyReceiver接收到, break; case R.id.btnStartService: intent.setAction("com.sxt.day07_05.start_service"); break; case R.id.btnStopService: intent.setAction("com.sxt.day07_05.stop_service"); break; } sendBroadcast(intent);//发送广播 } } 广播接收者: package com.sxt.day07_05; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; public class MyReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) {//收到广播 String action=intent.getAction(); Intent intent2=null; if(action.equals("com.sxt.day07_05.start_activity")){ //启动SecondActivity intent2=new Intent(context, SecondActivity.class);//context是上下文,就是发送广播的Activity intent2.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);//标志,一个Activity启动另一个Activity不用这个,因为2个Activity处于同一个任务栈,广播接收者没有任务栈,所以必出把SecondActivity启动在一个新的任务栈。因为每个Activity都在任务栈里面。 context.startActivity(intent2); }else if(action.equals("com.sxt.day07_05.start_service")){ intent2=new Intent(context, MyService.class); context.startService(intent2);//启动service }else if(action.equals("com.sxt.day07_05.stop_service")){ intent2=new Intent(context, MyService.class); context.stopService(intent2);//停止service } } } 广播接收者启动的service: package com.sxt.day07_05; import android.app.Service; import android.content.Intent; import android.os.IBinder; import android.os.SystemClock; import android.util.Log; public class MyService extends Service { boolean mLooper=true;//true:循环继续 @Override public IBinder onBind(Intent intent) { // TODO Auto-generated method stub return null; } @Override //service是一个后台进程,onBind,onStartCommand,onDestroy以on开头的方法都是在主线程执行的,所以为了不占用主线程的时间,这些方法里面的代码都要开辟工作线程执行。 public int onStartCommand(Intent intent, int flags, int startId) { //耗时操作都要在工作线程里面写 //即使这个service停止了,但是这个工作线程仍然不会停, //在Activity和service写的工作线程,即使Activity和service销毁了,这个工作线程还在执行。 new Thread(){ public void run() { while(mLooper){ SystemClock.sleep(1000); Log.i("main","service is loop..."); } }; }.start(); return super.onStartCommand(intent, flags, startId); } @Override public void onDestroy() { super.onDestroy(); mLooper=false;//service销毁工作线程不会停止,因此要mLooper=false } } 广播接收者启动的Activity: package com.sxt.day07_05; import android.os.Bundle; import android.app.Activity; import android.view.Menu; public class SecondActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_second); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.second, menu); return true; } } <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".SecondActivity" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="SecondActivity" /> </RelativeLayout> 系统描述文件: <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.sxt.day07_05" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="18" /> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name="com.sxt.day07_05.MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <receiver android:name="com.sxt.day07_05.MyReceiver" > 一个广播接收者接收3个action,3个字符串,3个频道的广播, <intent-filter> <action android:name="com.sxt.day07_05.start_activity" /> <action android:name="com.sxt.day07_05.start_service" /> <action android:name="com.sxt.day07_05.stop_service" /> </intent-filter> </receiver> <service android:name="com.sxt.day07_05.MyService" /> 声明service <activity 声明activity android:name="com.sxt.day07_05.SecondActivity" android:label="@string/title_activity_second" > </activity> </application> </manifest> 本文转自农夫山泉别墅博客园博客,原文链接:http://www.cnblogs.com/yaowen/p/4892864.html,如需转载请自行联系原作者

优秀的个人博客,低调大师

为iPhone,iPad,Android和其他移动设备启用Lync

Lync Cumulative Update 4 is now available for public download. While combining a number of fixes, it also includes some new PowerShell cmdlets to manage upcoming mobility functionality (actually a couple were slipped into CU3 but had no help files in CU3). Full details of the mobility service have not yet been released, so I would assume you should not be using these cmdlets yet. So what are the new cmdlets? Glad you asked. CsAutodiscoverConfiguration Get-CsAutodiscoverConfiguration New-CsAutodiscoverConfiguration Remove-CsAutodiscoverConfiguration Set-CsAutodiscoverConfiguration Modifies an existing collection of Autodiscover configuration settings. The Autodiscover service provides a way for client applications such as Lync Web Access or Microsoft Lync Mobile to locate key resources such as a user’s home pool or the URL for joining a dial-in conference. New-CsWebLink Creates a new web link that points to the Autodiscover service. The Autodiscover service provides a way for client applications such as Lync Web Access or Microsoft Lync Mobile to locate key resources such as a user’s home pool or the URL for joining a dial-in conference. Test-CsMcxPushNotification Verifies that the push notification service is working. The push notification service (Apple Push Notification Service and Microsoft Lync Server 2010 Push Notification Service) provides a way to send notifications about event s such as new instant messages or new voice mail to mobile devices like iPhones and Windows Phones, even if the Microsoft Lync 2010 application on those devices is currently suspended or running in the background. CsMobilityPolicy Get-CsMobilityPolicy Grant-CsMobilityPolicy New-CsMobilityPolicy Remove-CsMobilityPolicy Set-CsMobilityPolicy Modifies an existing mobility policy. Mobility policies determine whether o r not a user can use Microsoft Lync 2010 Mobile. These policies also manage a user’s ability to employ Call via Work, a feature that enables users to make and receive phone calls on their mobile phone by using their work phone number instead of their mobile phone number. CsMcxConfiguration Get-CsMcxConfiguration New-CsMcxConfiguration Remove-CsMcxConfiguration Set-CsMcxConfiguration Modifies an existing collection of Microsoft Lync Server 2010 Mobility Service configuration settings. The Mobility Service enables users of mobile phones such as iPhones and Windows Phones to do such things as exchange instant messages and presence information; store and retrieve voice mail internally instead of with their wireless provider; and take advantage of Microsoft Lync Server 2010 capabilities such as Call via Work and dial-out conferencing. CsPushNotificationConfiguration (Get,New,Remove,Set) Get-CsPushNotificationConfiguration New-CsPushNotificationConfiguration Remove-CsPushNotificationConfiguration Set-CsPushNotificationConfiguration Modifies an existing collection of push notification configuration settings . The push notification service (Apple Push Notification Service and Micros oft Lync Server 2010 Push Notification Service) provides a way to send notifications about events such as new instant messages or new voice mail to mobile devices such as iPhones and Windows Phones, even if the Microsoft Lync 2010 application on those devices is currently suspended or running in the background. Info gathered from the Lync CU4 PowerShell help files. Full Descriptions: CsAutodiscoverConfiguration DESCRIPTION Get-CsAutodiscoverConfiguration New-CsAutodiscoverConfiguration Remove-CsAutodiscoverConfiguration Set-CsAutodiscoverConfiguration DESCRIPTION For client applications to make the most effective use of Microsoft Lync Server 2010 those applications need to know the location of key Lync Server 2010 components. For example, authenticated users must be able to locate their home pool; after all, they can only be authenticated by that home pool. Likewise, unauthenticated users must be able to do such things as locate the URL used for joining a conference. If all your users logged on from behind the organization’s firewall discovering these locations would be a relatively simple task. However, this relatively simple task gets more and more complicated as users access the system from external locations using Microsoft Lync Mobile or Lync Web Access. This is especially true in split-domain scenarios, scenarios in which some of an organization’s users have accounts on the on-premises version of Lync Server while other users have accounts on Microsoft Office 365. In cases such as this, user accounts might be located in different Active Directory forests. That can pose a problem: for example, if a US-based user logs on from Europe the system must be able to recognize his or her forest and then refer the logon request to the proper pool. The Autodiscover service was introduced in the November 2011 release of Lync Server in order to address these issues. When a client application attempts to access Lync Server, the Autodiscover service parses the client SIP address and then redirects that request to the appropriate pool. Client applications connect to the Autodiscover service by sending an HTTP request to a n Autodiscover URL; these URLs must be configured by administrators in order for the Autodiscover service to work. (Note that, in addition to configuring URLs, administrators must also create DNS records that correspond to these URLs.) Autodiscover URLs are assigned to Autodiscover configuration settings; in turn, these settings can be applied to the global scope or to the site scope . When you install Lync Server a global collection of settings will be created for you. (However, no Autodiscover URLs will be assigned to that collection.) If a single collection of Autodiscover settings will not fill your needs, then you can use the New-CsAutoDiscoverConfiguration cmdlet to create additional configuration settings at the site scope. From there, you can u se the Set-CsAutoDiscoverConfiguration cmdlet to add or remove Autodiscover URLs from the global collection or from any site-scoped collection. New-CsWebLinkDESCRIPTION <info same as above cut> Managing Autodiscover configuration settings typically means adding Autodiscover URLs. These URLs must be created using the New-CsWebLink cmdlet, with the resulting URL stored in a variable and then added to a collection of Autodiscover configuration settings. Autodiscover URLs are based on the SIP domains used in your organization; administrators will typically create one URL for use by users outside the organization’s firewall (for example,http://LyncDiscover.litwareinc.com) and a second URL (for example,http://LyncDiscoverInternal.litwareinc.com) for use by users inside the firewall. CsMcxPushNotification DESCRIPTION Test-CsMcxPushNotification The Apple Push Notification Service and the Microsoft Lync Server 2010 Push Notification Service enable users running Lync 2010 on their Apple iPhone or Windows Phone to receive notifications about Lync 2010 events even when Lync 2010 is suspended or running in the background. For example, users can receive notice for events such as these: Invitations to a new instant messaging session or conference New instant messages New voice mail Without the push notification service, users would receive these notices on ly when Lync 2010 was in the foreground and serving as the active application. The Test-CsMcxPushNotification cmdlet provides a way for administrators to verify that the push notification service is working. CsMobilityPolicy DESCRIPTION Get-CsMobilityPolicy Grant-CsMobilityPolicy New-CsMobilityPolicy Remove-CsMobilityPolicy Set-CsMobilityPolicy Lync 2010 Mobile is a client application that enables users to run Microsoft Lync 2010 on their mobile phones. Call via Work provides a way for users to make calls on their mobile phone and yet have it appear as though the call originated from their work phone number instead of their mobile phone number. Users who have been enabled for Call via Work can achieve this either by dialing directly from their mobile phone or by using the dial-out conferencing option. With dial-out conferencing, a user effectively asks the Microsoft Lync Server 2010 Mobility Service server to make a call for them. The server will set up the call, and then call the user back on their mobile phone. After the user has answered, the server will then dial the party being called. Both of these capabilities – the ability to run Lync 2010 Mobile and the ability to use Call via Work – are managed using mobility policies. These policies can be modified at any time by using the Set-CsMobilityPolicy cmdlet. Other than a description of the policy, mobility policies have only two properties. The first, EnableOutsideVoice, determines whether or not Call via Work is enabled; the second, EnableMobility, determines whether or not user s are allowed to use Lync Mobile. Both of these properties must be set to t rue before a user can take advantage of Call via Work. If EnableMobility is set to True and EnableOutsideVoice is set to False, the user can run Micro soft Lync Mobile but will not be able to use Call via Work. If EnableMobility is set to False and EnableOutsideVoice is set to True the user will not be able to run Microsoft Lync Mobile. In turn, that means that the user will not be able to use Call via Work, regardless of the value of the EnableOutsideVoice property. Note that users must also be enabled for Enterprise Voice before they can use Lync 2010 Mobile. To use Call via Work, users must be managed by a voice policy that allows simultaneous ringing. CsMcxConfiguration DESCRIPTION Get-CsMcxConfiguration New-CsMcxConfiguration Remove-CsMcxConfiguration Set-CsMcxConfiguration Microsoft Lync Server 2010 Mobility Service extends many of the capabilities of Microsoft Lync 2010 to mobile devices such as Apple iPhones, Windows P hone, Android phones, and Nokia phones. Among other things, users can use these phones to exchange instant message and presence information, and to receive notifications of new voice mails. Thanks to the push notification service (Apple Push Notification Service and Microsoft Lync Server 2010 Push Notification Service), users with iPhones or Windows Phones can receive these notifications even if Lync 2010 is running in the background. The Mobility Service also provides the opportunity for organizations to enable Call vi a Work. With Call via Work, users can make a call from their mobile phone and make it appear as though the call originated from their work phone; for example, Caller ID systems will display the user’s work number instead of h is or her mobile phone number. The Mobility Service itself is managed by using Mobility Service configuration settings that can be applied to the global scope, the site scope, or the service scope (for the Web server service only). These settings control such things as the maximum length of time for a Mobility Service session; whether or not the Microsoft Lync Server 2010 Autodiscovery Service (which directs Mobility Service users to the appropriate Registrar pool) is available to users who log on outside the organization’s firewall); and the location of the push notification service provider. The Set-CsMcxConfiguration cmdlet provides a way for administrators to modify any of their existing Mobility Service configuration settings. CsPushNotificationConfiguration DESCRIPTION Get-CsPushNotificationConfiguration New-CsPushNotificationConfiguration Remove-CsPushNotificationConfiguration Set-CsPushNotificationConfiguration The Apple Push Notification Service and the Microsoft Lync Server 2010 Push Notification Service enable users running Lync 2010 on their Apple iPhone or Windows Phone to receive notifications about Lync 2010 events even when Lync 2010 is suspended or running in the background. For example, users can receive notice for events such as these: Invitations to a new instant messaging session or conference New instant messages New voice mail Without the push notification service users would receive these notices only when Lync 2010 was in the foreground and serving as the active application. Administrators have the ability to enable or disable push notifications for iPhone users and/or Windows Phone users. (By default, push notifications a re disabled for both iPhone users and Windows Phone users.) Administrators can enable or disable push notifications at the global scope by using the S et-CsPushNotificationConfiguration cmdlet. They can also create custom push notification settings at the site scope by using the New-CsPushNotificationConfiguration cmdlet. These custom settings can also be modified by using the Set-CsPushNotificationConfiguration cmdlet. With the push notification configuration settings there are only two property values for Administrators to manage: EnableApplePushNotificationService, which determines whether push notifications are sent to iPhone users; and EnableMicrosoftPushNotificationService, which determines whether push notifications are sent to Windows Phone users. Note that these property values d o not have to be set to the same value. For example, you could enable push notifications to Windows Phone users (by setting EnableMicrosoftPushNotificationService to True) yet, at the same, disable notifications to iPhone users by setting EnableApplePushNotificationService to False. 本文转自legendfu51CTO博客,原文链接:http://blog.51cto.com/legendfu/1072256,如需转载请自行联系原作者

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册