首先要创建Intents文件.
截屏2023-10-27 18.16.38.png
创建文件后
截屏2023-10-27 18.17.21.png
在这里添加一个标题,里面可以配置参数等内容,参数不得为空,调试需要自己选择
随后,会自动在info文件创建key为"NSUserActivityTypes"的键值对,注意查看里面的值
假设value = ChargeBatteryIntent
func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) {
guard let windowScene = (scene as? UIWindowScene) else { return }
//这里的type要和info里面的内容相对应
if let userActivity = connectionOptions.userActivities.first,
userActivity.activityType == "ChargeBatteryIntent" {
enterChargingShowViewController(false)
}
}
//此方法在程序后台调用
func scene(_ scene: UIScene, continue userActivity: NSUserActivity) {
if userActivity.activityType == "ChargeBatteryIntent"{
enterChargingShowViewController(true)
}
}
func enterChargingShowViewController(_ isActivity:Bool) {
//这里判断bool 如何是true
if !isActivity{
//直接设置主window.rootwindow
}else{
//获取当前控制器,跳转到充电页面
}
}
随后直接便可以测试,更详细内容,例如充电结束或,结束充电,则需要自己去研究喽









网友评论