Android 切换输入法

 

Code segment of project "zMyLayout_Jiang"

try
{
	//Get list of input methods
	List<InputMethodInfo> InputMethods=((InputMethodManager)myActivity.getSystemService(Context.INPUT_METHOD_SERVICE)).getEnabledInputMethodList();
	String nameIME = InputMethods.get(0).getServiceName();
	Log.i("Demo Error", "SWITCHING TO: "+nameIME);
	String NewInputMethodName=InputMethods.get(0).getId(); //Pick the first input method to switch to
	Log.i("Demo Error", "SWITCHING TO: "+NewInputMethodName);
	String curInputMethodId = Settings.Secure.getString(myActivity
		.getContentResolver(), Settings.Secure.DEFAULT_INPUT_METHOD);
	 Log.i("Demo Error", "CURRENT IME: "+curInputMethodId);
	// Solution 1 (X)
	// switchInputMethod is a method of android.inputmethodservice.InputMethodService
//	switchInputMethod(NewInputMethodName); //This throws an error
	// Solution 2 (OK)
	Settings.Secure.putString(myActivity.getContentResolver(),
	Settings.Secure.DEFAULT_INPUT_METHOD, NewInputMethodName);
	// Solution 3 (OK)
	if (myActivity.checkCallingOrSelfPermission(
		android.Manifest.permission.WRITE_SECURE_SETTINGS)
                        != 0) {
                	// PERMISSION_GRANTED == 0
			Log.i("Demo Error", "myActivity requires permission "
				+ android.Manifest.permission.WRITE_SECURE_SETTINGS);
	}
	((InputMethodManager)myActivity.getSystemService(Context.INPUT_METHOD_SERVICE))
		.setInputMethod(null, NewInputMethodName);
				
	// Show SoftInput Keyboard
	EditText inputText = (EditText)myActivity.findViewById(R.id.inputText);
	((InputMethodManager)myActivity.getSystemService(Context.INPUT_METHOD_SERVICE))
		.showSoftInput(inputText, 0);
} catch(Exception e) {
	Log.i("Demo Error", e.getMessage());
}

 

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
Android输入法切换引导功能通常指的是在用户首次安装并启用输入法应用时,系统会自动弹出一个输入法切换引导界面,提示用户如何在输入时切换不同的输入法。 具体实现方法可以参考以下步骤: 1. 在输入法应用的 AndroidManifest.xml 文件中,添加以下代码: ``` <activity android:name=".InputMethodSettingsActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.SHOW_INPUT_METHOD_PICKER" /> </intent-filter> </activity> ``` 2. 创建一个名为 InputMethodSettingsActivity 的 Activity,并在其中实现输入法切换引导功能的逻辑。 3. 在 Activity 的 onCreate 方法中,获取系统输入法管理器 InputMethodManager,并调用其 showInputMethodPicker 方法,显示输入法选择界面。 ``` InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); imm.showInputMethodPicker(); ``` 4. 在 Activity 的 onResume 方法中,判断当前是否为首次启动输入法应用,如果是,则调用 showInputMethodPicker 方法显示输入法选择界面。同时,将一个标志位设置为已启动过,以便下次进入应用时不再弹出引导界面。 ``` private boolean mIsFirstLaunch = true; @Override protected void onResume() { super.onResume(); if (mIsFirstLaunch) { InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); imm.showInputMethodPicker(); mIsFirstLaunch = false; } } ``` 通过以上步骤,就可以实现 Android 输入法切换引导功能了。需要注意的是,在实现过程中,还需要处理用户选择输入法后的回调逻辑,并在应用中提供方便用户切换输入法的方式,以提高用户体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值