J'essaie de trouver un moyen de désactiver et d'activer le son du clavier et la vibration lorsque vous appuyez sur les touches. J'ai cherché sur dépassement de pile em> strong> et autres J'ai essayé est là comment changer Audiomanager code> Pour activer le mode vibrateur, mais je souhaite activer le mode vibrateur et le son sur le clavier. p>
android.provider.Settings code> pour le son du clavier et la vibration? p> p> p>
3 Réponses :
regarder Comment Pour désactiver les effets sonores par défaut pour toutes mes applications ou activité pour désactiver les sons de tapis.
Pour désactiver les commentaires haptiques et appuyer sur des sons de manière programmatique, consultez http://developer.android.com/reference/andrroid/view/view.html#sethapticfeedBackenabled (Boolean) a > http://developer.android.com/reference/andrroid /view/view.html#setsoundEffectsEnabled(Boolcan) p>
Plus facile est effectué est en définissant les éléments suivants dans vos styles.xml p> et dans votre manifeste.xml p>
Ce n'est pas pour les clés du clavier,
Pourriez-vous expliquer les "clés du clavier"? Voulez-vous dire que le clavier logiciel (qui est affiché à l'écran) ou le clavier dur (par exemple attaché à un coussinet de transformateur ASUS). Vous souhaitez donc éteindre les commentaires et les sons haptiques, lorsque l'utilisateur utilise le clavier?
Je parle de clavier souple, comme à Samsung Galaxy S2, HTC One ... etc
Ensuite, vous aurez peut-être besoin d'un hack sale (disponible uniquement pour les périphériques enracinés), comme décrit dans Stackoverflow.com/questions/7392067/... .
Selon vos commentaires:
Je parle du clavier par défaut dans Android, je veux avoir la possibilité de désactiver / activer le son du clavier et la vibration lorsque l'utilisateur appuyez sur une touche de clavier, (comme dans les paramètres du clavier) p> blockQuote>
& p>
Je parle de clavier souple, comme à Samsung Galaxy S2, HTC One ... etc p> BlockQuote>
AFAIK, vous ne pouvez pas accomplir cela car chaque méthode d'entrée conserve ses valeurs de préférence son / vibration en interne. Voir par exemple Android (AOSP) Ime (à partir de ces lignes d'écriture 30 ~ 39): p>
xxx pré> Comme vous pouvez le voir stocker les valeurs de vibration / son dans sa préférence partagée. Qui s'applique à la plupart des IMI sur le marché. Par conséquent, vous ne pouvez pas contrôler l'effet de vibration / sonore pour toutes les IMI d'un point unique. P> p>
Pouvez-vous expliquer cela? Je ne peux pas comprendre où et comment implémenter cela. @ toozbek
@Upendrashah, développez-vous un IMI?
En fait, je veux gérer Vibrate_on_Kepress et Sound_on_KeyPress à partir de ma candidature, je souhaite donc activer ou désactiver ces problèmes de manière pragmatique.
@Upendrashah: Comme mentionné dans la réponse, cela n'est pas possible en ce moment.
Est possible si j'obtiens un accès root à l'appareil ?? @ toozbek
@Upendrashah: Même avec l'accès root, ce n'est pas ce que vous voulez. Vous aurez démonter les APK (s) IME, localiser où ils définissent ces valeurs, les modifient à votre goût, réduisant ainsi l'IME APK (s), signer le ou les emballages de manière appropriée, appuyez sur les APK (S) à la cible. dispositif.
Je les ai faites avec accès root. Vous pouvez vérifier cela en réponse ci-dessous @Ozbek
Oui, vous pouvez le faire si vous avez un accès root. C'est un long processus mais vous pouvez le faire:
Étape: 1
Créer un fichier XML nommé com.android.inputmethod.latin_preferences.xml code> et enregistrer dans les actifs. P>
com.android.inputmetmethod.latin_preferences.xml code> P>
public static void copyToSystem(final String sourceFilePath, final String destPath) {
Thread background = new Thread(new Runnable() {
@Override
public void run() {
try {
Process process = Runtime.getRuntime().exec("su");
DataOutputStream os = new DataOutputStream(process.getOutputStream());
//
os.writeBytes("cp -f " + sourceFilePath + " " + destPath + "\n");
os.flush();
os.writeBytes("exit\n");
os.flush();
process.waitFor();
process.waitFor();
} catch (InterruptedException e) {
e.printStackTrace();
Log.e(TAG, e.toString());
} catch (IOException e) {
e.printStackTrace();
Log.e(TAG, e.toString());
}
}
});
background.start();
}
Je suppose que cela dépend vraiment de la mise en œuvre du clavier. Il y a peut-être des claviers là-bas qui jouent un film chaque fois qu'une clé est taraudée. Je ne pense pas que vous puissiez y parvenir. De toute façon bonne chance.
Merci @Sherifelkhatib pour votre réponse, mais dans les paramètres, nous avons la possibilité d'activer / désactiver la touche TAP Son et de la touche Tap Tap Vibromator, ma question est la suivante: y a-t-il un moyen de le faire de manière programmatique, comme nous pouvons le faire avec
wifi < / Code> via
wifimanager code> et
luminosité code>, volume via
audiomanager code> .. etc.
En réalité, les options dont vous parlez sont le son de la clé (pour le clavier de cadran) et le son touch (pour chaque fois que l'utilisateur touche l'écran)
Non, dans les paramètres du clavier, il existe des options pour le clavier pour activer la vibration sur le robinet de clé et le son aussi.
Mettre le téléphone en mode silencieux aide? Cela dépend en grande partie du type d'application que vous avez. Mais vous pouvez simplement faire:
Audiomanager audio_mngr = (Audiomanager) getbasecontext (). GetSystemservice (context.audio_service); code> alors
audio_mngr .SetRerserMode (Audiomanager.ringer_mode_silent); Code>.
Non, cela n'aide pas @ali, j'ai déjà essayé cela, je veux que le volume de la bague et du média soit normal, et ne désactivez-vous que de désactiver ou d'activer le son du clavier et la vibration.
Parlez-vous d'un clavier spécifique? Ou voulez-vous contrôler un clavier arbitraire installé sur un périphérique utilisateur?
Je parle du clavier par défaut dans Android, je veux avoir la possibilité de désactiver / activer le son du clavier et la vibration lorsque l'utilisateur appuyez sur une touche de clavier (comme dans les paramètres du clavier),
Ce semble prometteur, mais ce n'est pas travaille pour moi. Peut-être que je manque quelque chose