Я создаю пользовательскую клавиатуру для Android. При нажатии на клавиатуре я хочу, чтобы вибрация на нем касалась как мягкая клавиатура Android. Я даже ссылался на этот ответ enable/disable keyboard sound and vibration programmatically, но я не мог понять, как его использовать. Может ли кто-нибудь объяснить, как получить эту функцию в моем пользовательском приложении для клавиатуры?Вибрация на клавиатуре в мягкой клавиатуре Android
ответ
audioManager.setRingerMode(AudioManager.RINGER_MODE_VIBRATE);
Не забудьте включить вибрацию в свой манифест.
Да, вы можете сделать это, если у вас есть root-доступ. Это длительный процесс, но вы можете сделать это:
Шаг: 1 Создайте файл xml с именем com.android.inputmethod.latin_preferences.xml
и сохраните активы.
com.android.inputmethod.latin_preferences.xml
<?xml version='1.0' encoding='utf-8' standalone='yes' ?>
<map>
<boolean name="popup_on" value="false" />
<string name="auto_correction_threshold">1</string>
<boolean name="pref_enable_metrics_logging" value="true" />
<boolean name="pref_voice_input_key" value="true" />
<boolean name="pref_key_use_personalized_dicts" value="true" />
<boolean name="pref_key_block_potentially_offensive" value="true" />
<int name="last_shown_emoji_category_id" value="1" />
<boolean name="sound_on" value="false" />
<string name="emoji_recent_keys">[{"Integer":128533}]</string>
<boolean name="auto_cap" value="true" />
<boolean name="show_suggestions" value="true" />
<boolean name="pref_key_use_contacts_dict" value="true" />
<boolean name="next_word_prediction" value="true" />
<boolean name="pref_key_use_double_space_period" value="true" />
<int name="emoji_category_last_typed_id1" value="0" />
<boolean name="vibrate_on" value="true" />
</map>
Шаг 2: Скопируйте этот файл в папку приложения (в любом месте, где вы можете получить доступ) с помощью asset manager
для этого вам нужно
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
эта функция будет копировать файл из активы
public static void copyAssets(Context context, String assetPath, String outFilename) {
AssetManager assetManager = context.getAssets();
InputStream in = null;
OutputStream out = null;
try {
in = assetManager.open(assetPath);
File outFile = new File(context.getExternalFilesDir(null), outFilename);
out = new FileOutputStream(outFile);
copyFile(in, out);
} catch (IOException e) {
Log.e(TAG, "Failed to copy asset: " + outFilename, e);
} finally {
if (in != null) {
try {
in.close();
} catch (IOException e) {
}
}
if (out != null) {
try {
out.close();
} catch (IOException e) {
}
}
}
}
public static void copyFile(InputStream in, OutputStream out) throws IOException {
byte[] buffer = new byte[1024];
int read;
while ((read = in.read(buffer)) != -1) {
out.write(buffer, 0, read);
}
}
Шаг 3: перезапись путь файловой системы системы преференций (DestPath) является /data/data/com.android.inputmethod.latin/shared_prefs
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();
}
Шаг 4: Перезагрузка устройства
Это все сделано. На этом шаге отключите звук нажатия клавиши и включите нажатие кнопки вибрации устройства.
- 1. Чехлы на мягкой клавиатуре Android Редактирование ввода
- 2. Переименовать клавиши на мягкой клавиатуре
- 3. Android динамически меняет клавиши в мягкой клавиатуре
- 4. Как отключить отображение «предложений» на мягкой клавиатуре
- 5. Как исправить нижнюю панель на мягкой клавиатуре
- 6. Как прослушать нажатие клавиши на мягкой клавиатуре?
- 7. Невозможно отладить css на мягкой клавиатуре.
- 8. Очистить фокус AutoCompleteTextView на мягкой клавиатуре закрыть
- 9. Клавиша «Далее» на мягкой клавиатуре не отображается
- 10. Как обнаружить KEYCODE_DEL на мягкой клавиатуре?
- 11. keyOutputText не работает на мягкой клавиатуре
- 12. Android: Выполнение действия на клавиатуре
- 13. Сохранить кнопку на мягкой клавиатуре вместо входа в android
- 14. Как адаптировать макеты к мягкой клавиатуре?
- 15. Android - Захват «Done» и «Enter» ключевые события на мягкой клавиатуре
- 16. android вопросы о том, чтобы всплывать на мягкой клавиатуре
- 17. Как иметь EditText, прикрепленный к мягкой клавиатуре на Android
- 18. Кнопка «Готово» не отображается на мягкой клавиатуре Android
- 19. Android: Как вызвать любое нажатие клавиши на мягкой клавиатуре?
- 20. Android: что такое KeyEvent.KEYCODE для клавиши «? 123» на мягкой клавиатуре?
- 21. ScrollView не прокручивается при открытой мягкой клавиатуре
- 22. Как обнаружить салфетки на клавиатуре в клавиатуре Android android
- 23. фона на клавиатуре Android
- 24. Как сменить ключевой фон любого ключа в мягкой клавиатуре Android
- 25. HTC Incredible не показывая Параметры IME на мягкой клавиатуре
- 26. Изменение стиля шрифта на клавиатуре Android
- 27. Android: Как я могу помешать мягкой клавиатуре выдвинуть мой взгляд?
- 28. отключите клавиатуру на клавиатуре на клавиатуре телефона.
- 29. Изменение следующей кнопки на кнопку на мягкой клавиатуре не работает
- 30. Настройка предложений на клавиатуре Android