Code Bye

请问?如何判断自己开发的APP是否运行在最前面。

 

请问各位两点内容:
    1.在IOS中开发的APP是否有办法自己判断自己这个app是否运行在最前面,如果有请告诉下如何解决。
    2.同上ios中的app被挂起后是否有办法判断当前屏上运行的是否仅仅是桌面。

背景&具体信息:
    在学校要求开发的iphone手机抢答答题软件中追加一个功能:希望可以监视这个抢答答题软件是否运行在最前端(也就是判断学生没有在运行其他游戏等什么app),如果没有就弹出个消息提醒下学生注意课堂纪律,或者给上课的PC端送个远程消息,告诉下老师注意下这个学生。

     由于软件是定制的,开发的程序不上app store,好像听说过有个developer profile模式可以直接发布程序,检测手机状态好像没有问题。软件设置为类似音乐播放一样的长时间运行的app,屏锁或者黑屏的情况下算作没有运行其他程序,手机会定时发一个心跳给服务器告诉服务器这学生没有在玩手机。

求各位高人给个解决方法或者给个思路,谢谢。


60分
AppDelegate 有个方法,好像叫 applciaitonDidEnterBackgroundWithOptions:
只要用户推出程序玩游戏,这个方法就会调用,你可以在这里把信息发送给服务器,告诉老师这个学生上课玩别的,服务器也可以发送push notification给那个学生。

Developer profile 只能把程序安装到100台设备,要无限量,必须用企业版的,Enterprise developer profile, 这个好像要300多美元一年。


40分
如果学生将应用退到后台,会触发UIApplicationDelegate 的一个方法applciaitonDidEnterBackgroundWithOptions,在这个方法中你可以调用后台接口告知服务器端这个学生不在使用该应用。可以通过给应用添加APNS服务向不在使用该应用的学生发送通知消息以提醒注意课堂纪律。还有一个方法是当学生重新回到这个应用后,客户端也可以监听到。可以通知老师该学生又重新上线。

如果不上appstore的话,考虑到以后的用户量,建议还是申请企业证书来给应用签名,这样对app的分发就没有任何数量上的限制。


CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明请问?如何判断自己开发的APP是否运行在最前面。