我想播放我自己的自定义通知声音,以将我的应用程序与系统默认声音区分开来。因此,当我收到 GCM 消息时,我有一个函数调用generateNotification
,它在状态栏中放置通知并播放声音。
目前,我将路径设置为这样的声音:
String GENERAL_NOTIFICATION_SOUND = "android.resource://" + MyActivity.getInstance().getPackageName() + "/" + R.raw.sound_file;
这在应用程序打开时有效,即使应用程序最近关闭也是如此。但是,如果应用程序被 Android 的内存管理关闭,然后MyActivity.getInstance()
返回null
,并且我的应用程序崩溃并出现 NullPointerException 没有正确显示通知,因为它无法解析路径。
我相信我可以通过硬编码路径来解决这个问题,但我觉得必须有更好的方法。当应用程序可能未打开时,如何设置需要访问的文件的路径?