Push notification GCM空中分机上的自定义通知声音

Push notification GCM空中分机上的自定义通知声音,push-notification,google-cloud-messaging,air-native-extension,Push Notification,Google Cloud Messaging,Air Native Extension,我正在构建一个GCM扩展,AS3开发人员可以在SD卡上设置mp3文件的位置,当GCM通知运行时,会播放自定义声音。一切都好,一切都好 但当我关闭air应用程序并从服务器发送通知时,将播放android默认声音。这是因为当air应用程序关闭时,其上下文为空,扩展无法访问应用程序设置的参数,因此它播放默认声音 我知道我可以在.ane中创建资源并将其用作自定义声音,但我不想这样做。我想让AS3开发者自由选择声音文件的位置 有什么想法吗? 谢谢 Hadi这是一种无耻的自我推销,但我认为最好告诉正在寻找它

我正在构建一个GCM扩展,AS3开发人员可以在SD卡上设置mp3文件的位置,当GCM通知运行时,会播放自定义声音。一切都好,一切都好

但当我关闭air应用程序并从服务器发送通知时,将播放android默认声音。这是因为当air应用程序关闭时,其上下文为空,扩展无法访问应用程序设置的参数,因此它播放默认声音

我知道我可以在.ane中创建资源并将其用作自定义声音,但我不想这样做。我想让AS3开发者自由选择声音文件的位置

有什么想法吗? 谢谢
Hadi

这是一种无耻的自我推销,但我认为最好告诉正在寻找它的人在这里签出已完成的扩展:


air extension支持自定义声音和图标

您可能需要向应用程序添加一些设置,这些设置存储在本机Android范围内的某个位置,并从GCM通知接收器中访问它们

看看SharedReferences

例如:

//
//  Save a shared preference
SharedPreferences sharedPreferences = context.getActivity().getSharedPreferences( "YOUR_PREFERENCES_NAME", Activity.MODE_PRIVATE );
Editor preferencesEditor = sharedPreferences.edit();
preferencesEditor.putString( "customNotificationSound",  soundLocation );
preferencesEditor.commit();
然后在您的接收器中:

SharedPreferences sharedPreferences = context.getActivity().getSharedPreferences( "YOUR_PREFERENCES_NAME", Activity.MODE_PRIVATE );
String soundLocation = sharedPreferences.getBoolean( "customNotificationSound", false );