0

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

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

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

有任何想法吗?谢谢,哈迪

4

2 回答 2

0

这是一个无耻的自我推销,但我认为告诉正在寻找这个的人在这里检查完成的扩展是很好的:http: //myappsnippet.com/gcm/

空气扩展支持自定义自定义声音和图标!

于 2013-01-30T06:03:21.167 回答
0

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

看看 SharedPreferences

http://developer.android.com/reference/android/content/SharedPreferences.html

例如:

//
//  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 );
于 2013-02-03T04:33:29.830 回答