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:如何禁用默认触摸声音?的主要内容,如果未能解决你的问题,请参考以下文章