我正在使用appcelerator 4.0.0。我已经下载了这个appcelerator的代码,并尝试在通知中添加声音。 http://www.appcelerator.com/blog/2014/09/new-in-sdk-3-4-ios-8-interactive-notifications/
然而,我似乎无法让声音发挥作用。设备上的通知设置/权限很好。我已经在模拟器和真实设备上进行了测试。
var notif = Ti.App.iOS.scheduleLocalNotification({
date: new Date(new Date().getTime() + 5000), // send it in 5 sec
alertBody: 'This is your message',
badge: 1,
sound: 'default',
userInfo: {"url": "http://www.download.com/resource/asset.json", id:"1"},
category: "DOWNLOAD_CONTENT"
});
答案 0 :(得分:1)
等等,你的代码中存在一些误解。
Ti.App.iOS.scheduleLocalNotification
安排通知,但如果您设置了date = new Date(new Date().getTime())
,则该应用仍处于前台...当应用处于前台时,不会显示iOS横幅=没有声音。
所以,你需要做的是date: new Date(Date.now() + 5000)
,并关闭应用程序。
答案 1 :(得分:0)
我确实遇到了同样的问题,而且我正在使用Ti sdk 5.2.0.GA,显然没有播放声音,除非明确设置属性声音。
所以我的解决方法是:
在互联网上搜索默认通知声音文件,并在app/assets/iphone
文件夹下使用。
var notif = Ti.App.iOS.scheduleLocalNotification({
date: new Date(new Date().getTime() + 5000), // send it in 5 sec
alertBody: 'This is your message',
sound: '/default-notif.m4r'
)};
希望这有帮助!
答案 2 :(得分:0)
对于运行iOS 8及更高版本的设备,您需要注册应用程序以使用本地通知服务。使用Titanium.App.iOS.registerUserNotificationSettings()方法在本地通知服务中注册应用程序。将方法的类型属性设置为要使用的通知类型数组。
Titanium.App.iOS.USER_NOTIFICATION_TYPE_ALERT:允许应用程序显示警报或横幅消息。 Titanium.App.iOS.USER_NOTIFICATION_TYPE_BADGE:允许应用程序修改应用程序图标中的徽章值。 Titanium.App.iOS.USER_NOTIFICATION_TYPE_NONE:禁用应用程序UI通知。通知事件仍将通知应用程序通知。 Titanium.App.iOS.USER_NOTIFICATION_TYPE_SOUND:允许应用程序播放声音。
if (Ti.Platform.name == "iPhone OS" && parseInt(Ti.Platform.version.split(".")[0]) >= 8) {
Ti.App.iOS.registerUserNotificationSettings({
types: [
Ti.App.iOS.USER_NOTIFICATION_TYPE_ALERT,
Ti.App.iOS.USER_NOTIFICATION_TYPE_SOUND,
Ti.App.iOS.USER_NOTIFICATION_TYPE_BADGE
]
});
}