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

时间:2014-04-03 12:23:42

标签: html cordova javascript-events phonegap-build

这很烦人,因为当我测试它有效。但是我已经编译了应用程序,每次触摸按钮时都会有来自Android的默认声音,例如" bloop"。

有谁知道如何禁用它?

更新:

我开发了这个插件。它可以安装,应用程序运行,但它无法正常工作。这是插件的功能:

的plugin.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>

插件/ SRC /机器人/ 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 个答案:

答案 0 :(得分:0)

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

在该插件中添加这个全部的java代码,

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

对于Android插件开发检查this