【问题标题】:Custom sound in Android Push Notifications (GCM )Android 推送通知 (GCM) 中的自定义声音
【发布时间】:2015-03-30 10:35:51
【问题描述】:

如何在收到 Android 推送通知时播放自定义声音?

在应用程序中,我可以使用媒体播放器进行控制。在 APP 之外我找不到音频文件的正确路径。我已经“/android_assets/www/”尝试了“www/”,但是当您在应用程序外收到推送通知时,总是有默认声音。

【问题讨论】:

    标签: android cordova audio push-notification


    【解决方案1】:

    首先,您需要在 res 文件夹下的 raw 文件夹中添加新的声音文件。

    由于是cordova应用,你使用的是cordova push插件。有一个包叫com.plugin.gcm。在那个包里打开GCMIntentService.java。在

        public void createNotification(Context context, Bundle extras)
    

    方法,这个方法的末尾应该有一行

        mNotificationManager.notify((String) appName, NOTIFICATION_ID, mBuilder.build());
    

    只需用以下代码替换该行

        Notification notification = mBuilder.build();
        notification.sound = Uri.parse("android.resource://" + context.getPackageName() + "/your_sound_file_name.mp3");
        notification.defaults |= Notification.DEFAULT_VIBRATE;
        mNotificationManager.notify((String) appName, NOTIFICATION_ID, notification);
    

    【讨论】:

    • 不知何故,当我将声音文件放入 res 文件夹时,它对我不起作用。相反,我在我的android项目的“res”文件夹中创建了“raw”文件夹并且它工作。不确定我的配置有什么问题。
    • 对不起@SaravananS,这不是你的错,我忘了把文件保存在 res 文件夹下,否则它不会工作,因为当你有不同的 R 时。您根本没有引用正确的 R。实际上原始资源不是由平台编译的。因此,android 可以创建对特定原始文件的引用。像 R.raw.filename 我已经更新了我的答案。请将其标记为有用。
    • 您好,这很好用 - 但奇怪的是相同的文件音量在前台播放时很大,但当用于推送通知时,音量非常低 - 调高手机音量不会也无济于事。有什么办法可以在推送时提高媒体文件的音量?
    猜你喜欢
    • 2018-06-24
    • 1970-01-01
    • 2020-02-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-23
    • 2022-07-12
    相关资源
    最近更新 更多