利用URL Scheme打开指定应用的通知
来源:互联网 发布:iapp源码大全 编辑:程序博客网 时间:2024/05/24 05:14
需求
最近遇到一个小问题,睡前会习惯性把微信的通知关闭。睡醒后又会把微信的通知打开。
这个动作总共需要耗费三个步骤:打开设置->通知->微信。
虽然只有十几秒,但是作为一名程序员充分发挥懒的天赋。希望能一步到位,最好一键开关。
由于iOS系统的设置,最多只能打开指定应用的通知设置界面。接着需要用户自己手动进行打开/关闭动作(这也正常,否则系统就乱了套)
其中,利用URL Scheme打开直接打开指定应用的通知设置界面。
背景
iOS系统为了保护用户的隐私与安全,将每个应用封装在沙盒中。应用只能访问系统允许访问的资源。但这一做法同时也阻碍了应用之间的信息交流与共享。因此,Apple 给出了一个可以让app之间进行相互跳转的方法:URL Scheme。(当然,URL Scheme的作用不止如此)
打开指定应用的通知界面
关键代码:
App-prefs:root=NOTIFICATIONS_ID&path=应用的bundle id
这就产生另一个问题,如何得知指定应用的bundle id。下面来详解如何获得指定应用的bundle id
寻找指定应用的bundle id
①利用iTunes下载微信
②找到微信的iPa包
③利用解压工具打开
④找到并打开微信的app
⑤右键打开显示包内容
⑥找到并打开info.plist
⑦找到bundle id
由此可以发现微信的Bundle id是com.tencent.xin。
应用
object-c
打开微信通知设置界面
NSDictionary * options = @{UIApplicationOpenURLOptionUniversalLinksOnly:@NO}; [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"App-prefs:root=NOTIFICATIONS_ID&path=com.tencent.xin"] options:options completionHandler:nil];
workflow中
也只需两步
①填写相应的URL
②打开对应的URL
总结
总得来说,现在由原来的三步简化为一步。
当然,Url Scheme的用途远不止如此。
参考资料
URL Schemes 的汇总:https://github.com/phynet/iOS-Schemes
URL Schemes 使用详解:https://sspai.com/post/31500#01
- 利用URL Scheme打开指定应用的通知
- 通过URL Scheme打开Settings应用
- 通过URL Scheme打开Settings应用
- url scheme 打开其它app 应用
- 通过URL Scheme打开Settings应用
- android Scheme使用 打开指定的Activity
- 利用URL Scheme打开APP并传递数据
- Swift - 打开第三方应用,并传递参数(附常用App的URL Scheme)
- Swift - 打开第三方应用,并传递参数(附常用App的URL Scheme)
- 利用OpenUrl打开指定应用
- swift url scheme(应用之间的调用)
- iOS 常用应用的url scheme
- IOS -- 利用URL Scheme启动第三方应用
- Java打开指定的url
- URL Scheme 打开系统设置
- 在wap中启动 app(利用URL Scheme打开APP并传递数据 )
- ios的URL Scheme
- iOS 常用应用的url scheme 及查看方法
- java 对象传入到函数原对象不改变 值传递 引用传递
- Js WebScoket与Java WebSocket的通信
- Java之static知识点和使用演示
- Android 是否禁止 ViewPager左右滑动
- 《高效能人事的七个习惯》
- 利用URL Scheme打开指定应用的通知
- 【安卓学习】2.Intent的学习
- 数据结构封装之《StaticList静态链表》
- 204.m1-ViewHolder的复用
- Android控件
- 一张图表示neutron用法及rpc和restful区别
- Python--json模块
- Linux C编程学习笔记(1):chmod函数及文件的访问权限控制
- pxe