Phonegap:如何禁用默认触摸声音?

Posted

技术标签:

【中文标题】Phonegap:如何禁用默认触摸声音?【英文标题】:Phonegap: How can I disable the default touch sound? 【发布时间】:2014-04-03 12:23:41 【问题描述】:

嗯,这很烦人,因为当我测试它时它起作用了。但是我已经编译了应用程序,每次我触摸按钮时都会有来自 android 的默认声音,比如“bloop”。

有谁知道如何禁用此功能?

更新:

我已经开发了那个插件。它可以安装并且应用程序运行但它不工作。这是插件的功能:

插件.xml

<?xml version="1.0" encoding="UTF-8"?>
 
<plugin xmlns="http://www.phonegap.com/ns/plugins/1.0"
           id="org.trollglodita.sounds"
      version="0.1.0">
    <name>sound</name>
    <description>Sample PhoneGap Sound Plugin</description>
    <license>RO</license>
    <keywords>phonegap,sound</keywords>
 
    <!-- android -->
    <platform name="android">
        <config-file target="res/xml/config.xml" parent="/*">
            <feature name="sound">
                <param name="android-package" value="org.trollglodita.sound"/>
            </feature>
        </config-file>

        <config-file target="AndroidManifest.xml" parent="/*">
            <uses-permission android:name="android.permission.VIBRATE" />
            <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
        </config-file>
         
        <source-file src="src/android/sound.java"/>      
     </platform>          
</plugin>

plugin/src/android/preventsound.java

package org.apache.cordova.plugin;

import org.apache.cordova.CordovaPlugin;
import org.apache.cordova.CallbackContext;

import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

    /**
     * This class echoes a string called from javascript.
     */


public class SoundBeep extends CordovaPlugin 
    AudioManager aManager=(AudioManager)getSystemService(AUDIO_SERVICE);
    aManager.setRingerMode(aManager.RINGER_MODE_SILENT);


@Override
public boolean execute(String action, JSONArray args, CallbackContext callbackContext) throws JSONException 
 

【问题讨论】:

【参考方案1】:

是的,可以为此编写简单的插件

在那个插件里面添加这个java代码就是这样,

AudioManager aManager=(AudioManager)getSystemService(AUDIO_SERVICE);
aManager.setRingerMode(aManager.RINGER_MODE_SILENT);

对于android插件开发检查this

【讨论】:

Arjun,我已按照教程进行操作,但即使正确安装并且应用程序运行,插件也无法正常工作,插件无法使该功能正常工作。我也试过navigator.notification.vibrate(0),但也没有用。

以上是关于Phonegap:如何禁用默认触摸声音?的主要内容,如果未能解决你的问题,请参考以下文章

Phonegap textarea滚动

禁用 Phonegap 中 DIV 的弹跳/橡皮筋效果

phonegap 媒体插件无法处理多种声音?

如何禁用 Qt QMessageBox 播放的声音?

如何通过绝对路径访问我的应用程序文件 - windows phone - Phonegap/Cordova

有人知道如何在 Phonegap 和 Windows Phone 7 中使用动态磁贴吗? [关闭]