在我们的APP中,可能会使用多种服务,例如定位、推送、相册、拍照、通讯录等。选择是否允许一般只出现在安装app后第一次打开时,可是我们依然需要在使用到某种服务的时候判断是否用户是否允许了该服务,因为用户有可能自己关闭了自己app的这种服务器。

通常我们的做法是,给一个弹窗,提示开启选项的路径:例如:这样

也可以做一张长图,用ScrollView显示出来,可能会体验稍微好一点。

目前更好的做法,大概是直接跳转到app的设置界面,像下面这样:

直接上代码:

  1. [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=你app的bunbleId"]];

另外该方法支持iOS8以上,iOS7估计还是得用原始方法咯。

补充:

当然也可以跳转到某一类服务器的设置界面,直接修改Settings的URL Scheme参数即可。

常用的参数如下:

  1. Location Services prefs:root=LOCATION_SERVICES
  2.  
  3. Notification prefs:root=NOTIFICATIONS_ID
  4.  
  5. Phone prefs:root=Phone
  6.  
  7. Photos prefs:root=Photos
  8.  
  9. Wi-Fi prefs:root=WIFI
  10.  
  11. About prefs:root=General&path=About
  12.  
  13. Accessibility prefs:root=General&path=ACCESSIBILITY
  14.  
  15. Airplane Mode On prefs:root=AIRPLANE_MODE
  16.  
  17. Auto-Lock prefs:root=General&path=AUTOLOCK
  18.  
  19. Brightness prefs:root=Brightness
  20.  
  21. Bluetooth prefs:root=General&path=Bluetooth
  22.  
  23. Date & Time prefs:root=General&path=DATE_AND_TIME
  24.  
  25. FaceTime prefs:root=FACETIME
  26.  
  27. General prefs:root=General
  28.  
  29. Keyboard prefs:root=General&path=Keyboard
  30.  
  31. iCloud prefs:root=CASTLE
  32.  
  33. iCloud Storage & Backup prefs:root=CASTLE&path=STORAGE_AND_BACKUP
  34.  
  35. International prefs:root=General&path=INTERNATIONAL
  36.  
  37. Music prefs:root=MUSIC
  38.  
  39. Music Equalizer prefs:root=MUSIC&path=EQ
  40.  
  41. Music Volume Limit prefs:root=MUSIC&path=VolumeLimit
  42.  
  43. Network prefs:root=General&path=Network
  44.  
  45. Nike + iPod prefs:root=NIKE_PLUS_IPOD
  46.  
  47. Notes prefs:root=NOTES
  48.  
  49. Profile prefs:root=General&path=ManagedConfigurationList
  50.  
  51. Reset prefs:root=General&path=Reset
  52.  
  53. Safari prefs:root=Safari
  54.  
  55. Siri prefs:root=General&path=Assistant
  56.  
  57. Sounds prefs:root=Sounds
  58.  
  59. Software Update prefs:root=General&path=SOFTWARE_UPDATE_LINK
  60.  
  61. Store prefs:root=STORE
  62.  
  63. Twitter prefs:root=TWITTER
  64.  
  65. Usage prefs:root=General&path=USAGE
  66.  
  67. VPN prefs:root=General&path=Network/VPN
  68.  
  69. Wallpaper prefs:root=Wallpaper


在app内打开自己app的专用设置界面的更多相关文章

  1. iOS app内打开safari完成google的OAuth2认证

    最近使用google的oauth认证,发现不再允许使用UIWebview进行认证了,必须使用系统游览器,使用游览器也不一定要在app之间跳转,ios使用SFSafariViewController就可 ...

  2. jQuery判断当前页面是APP内打开还是浏览器打开

    一.代码如下: function check_useragent() { var browser = { versions: function() { var u = navigator.userAg ...

  3. [Cordova inAppBrowser 在App内打开浏览器]

    方案1: 使用Cordova插件 cordova-plugin-inappbrowser 1.  添加插件 cordova plugin add cordova-plugin-inappbrowser ...

  4. Android中直接打开高德APP进行导航

    1.判断是否安装有高德APP //高德APPprivate PackageManager mPackageManager;private static List<String> mPack ...

  5. iOS 开发之应用内弹出 App Store 应用界面

    在APP内给其他APP做推广,经常用到在应用内弹出应用的APP #import <StoreKit/SKStoreProductViewController.h> 设置代理:<SKS ...

  6. iOS6:在你的App内使用Passbook

    前言 这是一篇翻译,感谢Jonathan Tang. 原文地址:iOS 6 Tutorial: Integrating Passbook into Your Applications 另外,看到另一篇 ...

  7. iOS APP内购

    看到网上文章一大把,看了这个觉得挺不错的,谢谢 iOS大全 公众平台; 原文:http://mp.weixin.qq.com/s?__biz=MzAxMzE2Mjc2Ng==&mid=2652 ...

  8. 手机浏览网页或打开App时莫名弹出支付宝领红包界面的原因及应对措施

    自从支付宝推出扫码领红包活动后,这种模式独特的赏金机制,短时间内吸引了大量的关注,但是随之也产生了很多的问题,比由于如在赏金的驱动下,微信群里铺天盖地的红包口令,朋友圈里各式各样的领红包二维码图片, ...

  9. Android网页打开指定App

    一.只打开APP操作 通过用手机的浏览器(内置,第三方都可)访问一个网页,实现点击一个链接启动自己的应用,并传递数据. 首先在Mainifest文件里面对要启动的Activity添加一个过滤器. 网页 ...

随机推荐

  1. [csdn markdown]使用摘记三 简便快捷的流程图

    在线编写文字就可以实现复杂的流程图,再也不需要纠结了! 开始 操作流程 条件 结束 开始 st=>start: 开始 操作流程 st->op->cond 条件 cond=>co ...

  2. SQLite 删除表(http://www.w3cschool.cc/sqlite/sqlite-drop-table.html)

    SQLite 删除表 SQLite 的 DROP TABLE 语句用来删除表定义及其所有相关数据.索引.触发器.约束和该表的权限规范. 使用此命令时要特别注意,因为一旦一个表被删除,表中所有信息也将永 ...

  3. JBOSS EAP6 系列二 客户端访问位于EAR中的EJB时,jndi name要遵守的规则

    EJB 的 jndi语法(在整个调用远程ejb的过程中语法的遵循是相当重要的) 参见jboss-as-quickstarts-7.1.1.CR2\ejb-remote\client\src\main\ ...

  4. Linux命令—文件目录

     (1) shell的使用 <1>检查系统当前运行的shell版本: [root@lab root]# echo $SHELL <2>从当前shell下切换到csh: [r ...

  5. Linux文件上传工具下载工具及详细使用说明

    对于经常使用Linux系统的人员来说,少不了将本地的文件上传到服务器或者从服务器上下载文件到本地,rz / sz命令很方便的帮我们实现了这个功能,但是很多Linux系统初始并没有这两个命令.今天,我们 ...

  6. Dynamics CRM2013/2015 插件注册工具登录后无法显示assembly列表问题的解决办法二

    本篇接前面的一篇博文:http://blog.csdn.net/vic0228/article/details/47079717,前篇提供了一种解决方案,将本机系统的语言切换成英文即可,今天再来介绍第 ...

  7. C++三目运算符的增强

    <p>// 在C语言中表达式的结果放在寄存器中 // 在C语言中,表达式的返回值是变量的值 // 在C++中,表达式返回的是变量的本身</p><pre name=&quo ...

  8. android6.0SDK 删除HttpClient的相关类的解决方法

    本文转载自博客:http://blog.csdn.net/yangqingqo/article/details/48214865 android6.0SDK中删除HttpClient的相关类的解决方法 ...

  9. Objc将数据写入iOS真机的plist文件中

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;) 如何写入模拟器的博文在 这里 但是这对真机不管用,因为在真机环 ...

  10. iOS动画进阶 - 教你写 Slack 的 Loading 动画

    (转载自:http://blog.csdn.net/wang631106979/article/details/52473985) 如果移动端访问不佳,可以访问我的个人博客 前几天看了一篇关于动画的博 ...