當前位置: 首頁>>代碼示例>>Java>>正文


Java InputMethodManager.getEnabledInputMethodList方法代碼示例

本文整理匯總了Java中android.view.inputmethod.InputMethodManager.getEnabledInputMethodList方法的典型用法代碼示例。如果您正苦於以下問題:Java InputMethodManager.getEnabledInputMethodList方法的具體用法?Java InputMethodManager.getEnabledInputMethodList怎麽用?Java InputMethodManager.getEnabledInputMethodList使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在android.view.inputmethod.InputMethodManager的用法示例。


在下文中一共展示了InputMethodManager.getEnabledInputMethodList方法的7個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: switchToNextInputMethodAndSubtype

import android.view.inputmethod.InputMethodManager; //導入方法依賴的package包/類
private boolean switchToNextInputMethodAndSubtype(final IBinder token) {
    final InputMethodManager imm = mImmWrapper.mImm;
    final List<InputMethodInfo> enabledImis = imm.getEnabledInputMethodList();
    final int currentIndex = getImiIndexInList(getInputMethodInfoOfThisIme(), enabledImis);
    if (currentIndex == INDEX_NOT_FOUND) {
        Log.w(TAG, "Can't find current IME in enabled IMEs: IME package="
                + getInputMethodInfoOfThisIme().getPackageName());
        return false;
    }
    final InputMethodInfo nextImi = getNextNonAuxiliaryIme(currentIndex, enabledImis);
    final List<InputMethodSubtype> enabledSubtypes = getEnabledInputMethodSubtypeList(nextImi,
            true /* allowsImplicitlySelectedSubtypes */);
    if (enabledSubtypes.isEmpty()) {
        // The next IME has no subtype.
        imm.setInputMethod(token, nextImi.getId());
        return true;
    }
    final InputMethodSubtype firstSubtype = enabledSubtypes.get(0);
    imm.setInputMethodAndSubtype(token, nextImi.getId(), firstSubtype);
    return true;
}
 
開發者ID:rkkr,項目名稱:simple-keyboard,代碼行數:22,代碼來源:RichInputMethodManager.java

示例2: isSystemLocaleSameAsLocaleOfAllEnabledSubtypesOfEnabledImes

import android.view.inputmethod.InputMethodManager; //導入方法依賴的package包/類
public boolean isSystemLocaleSameAsLocaleOfAllEnabledSubtypesOfEnabledImes() {
    final Locale systemLocale = mContext.getResources().getConfiguration().locale;
    final Set<InputMethodSubtype> enabledSubtypesOfEnabledImes = new HashSet<>();
    final InputMethodManager inputMethodManager = getInputMethodManager();
    final List<InputMethodInfo> enabledInputMethodInfoList =
            inputMethodManager.getEnabledInputMethodList();
    for (final InputMethodInfo info : enabledInputMethodInfoList) {
        final List<InputMethodSubtype> enabledSubtypes =
                inputMethodManager.getEnabledInputMethodSubtypeList(
                        info, true /* allowsImplicitlySelectedSubtypes */);
        if (enabledSubtypes.isEmpty()) {
            // An IME with no subtypes is found.
            return false;
        }
        enabledSubtypesOfEnabledImes.addAll(enabledSubtypes);
    }
    for (final InputMethodSubtype subtype : enabledSubtypesOfEnabledImes) {
        if (!subtype.isAuxiliary() && !subtype.getLocale().isEmpty()
                && !systemLocale.equals(SubtypeLocaleUtils.getSubtypeLocale(subtype))) {
            return false;
        }
    }
    return true;
}
 
開發者ID:sergeychilingaryan,項目名稱:AOSP-Kayboard-7.1.2,代碼行數:25,代碼來源:RichInputMethodManager.java

示例3: rokomojiEnabled

import android.view.inputmethod.InputMethodManager; //導入方法依賴的package包/類
public static boolean rokomojiEnabled(Activity activity) {
//        requestPermissionIfNeeded(Manifest.permission.READ_EXTERNAL_STORAGE, activity);
        InputMethodManager imm = (InputMethodManager) activity.getSystemService(Context.INPUT_METHOD_SERVICE);
        List<InputMethodInfo> imList = imm.getEnabledInputMethodList();
        for (InputMethodInfo imi : imList) {

            if (activity.getPackageName().equalsIgnoreCase(imi.getPackageName()) && SERVICE_NAME.equalsIgnoreCase(imi.getServiceName())) {
                //if (SERVICE_NAME.equalsIgnoreCase(imi.getServiceName())) {
                return true;
            }
        }
        return false;
    }
 
開發者ID:ROKOLabs,項目名稱:ROKOmoji.Emoji.Keyboard.App-Android,代碼行數:14,代碼來源:KeyboardService.java

示例4: recordKeyboardLocaleUma

import android.view.inputmethod.InputMethodManager; //導入方法依賴的package包/類
private void recordKeyboardLocaleUma() {
    InputMethodManager imm =
            (InputMethodManager) mAppContext.getSystemService(Context.INPUT_METHOD_SERVICE);
    List<InputMethodInfo> ims = imm.getEnabledInputMethodList();
    ArrayList<String> uniqueLanguages = new ArrayList<>();
    for (InputMethodInfo method : ims) {
        List<InputMethodSubtype> submethods =
                imm.getEnabledInputMethodSubtypeList(method, true);
        for (InputMethodSubtype submethod : submethods) {
            if (submethod.getMode().equals("keyboard")) {
                String language = submethod.getLocale().split("_")[0];
                if (!uniqueLanguages.contains(language)) {
                    uniqueLanguages.add(language);
                }
            }
        }
    }
    RecordHistogram.recordCountHistogram("InputMethod.ActiveCount", uniqueLanguages.size());

    InputMethodSubtype currentSubtype = imm.getCurrentInputMethodSubtype();
    Locale systemLocale = Locale.getDefault();
    if (currentSubtype != null && currentSubtype.getLocale() != null && systemLocale != null) {
        String keyboardLanguage = currentSubtype.getLocale().split("_")[0];
        boolean match = systemLocale.getLanguage().equalsIgnoreCase(keyboardLanguage);
        RecordHistogram.recordBooleanHistogram("InputMethod.MatchesSystemLanguage", match);
    }
}
 
開發者ID:rkshuai,項目名稱:chromium-for-android-56-debug-video,代碼行數:28,代碼來源:DeferredStartupHandler.java

示例5: getVoiceImeInputMethodInfo

import android.view.inputmethod.InputMethodManager; //導入方法依賴的package包/類
private static InputMethodInfo getVoiceImeInputMethodInfo(InputMethodManager inputMethodManager)
        throws SecurityException, IllegalArgumentException {
    for (InputMethodInfo inputMethodInfo : inputMethodManager.getEnabledInputMethodList()) {
        for (int i = 0; i < inputMethodInfo.getSubtypeCount(); i++) {
            InputMethodSubtype subtype = inputMethodInfo.getSubtypeAt(i);
            if (VOICE_IME_SUBTYPE_MODE.equals(subtype.getMode())) {
                if (inputMethodInfo.getComponent().getPackageName()
                        .startsWith(VOICE_IME_PACKAGE_PREFIX)) {
                    return inputMethodInfo;
                }
            }
        }
    }
    return null;
}
 
開發者ID:MohammadAlBanna,項目名稱:Swift-Braille-Soft-keyboard,代碼行數:16,代碼來源:ImeTrigger.java

示例6: initInputMethods

import android.view.inputmethod.InputMethodManager; //導入方法依賴的package包/類
private static void initInputMethods(Context context) {
    InputMethodManager inputMethodManager = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE);
    List<InputMethodInfo> inputMethods = inputMethodManager.getEnabledInputMethodList();
    final int count = inputMethods == null ? 0 : inputMethods.size();
    for (int i = 0; i < count; ++i) {
        inputMethodPackages.add(inputMethods.get(i).getPackageName());
    }
}
 
開發者ID:brevent,項目名稱:prevent,代碼行數:9,代碼來源:PackageUtils.java

示例7: isThisImeEnabled

import android.view.inputmethod.InputMethodManager; //導入方法依賴的package包/類
/**
 * Check if the IME specified by the context is enabled.
 * CAVEAT: This may cause a round trip IPC.
 *
 * @param context package context of the IME to be checked.
 * @param imm the {@link InputMethodManager}.
 * @return true if this IME is enabled.
 */
public static boolean isThisImeEnabled(final Context context,
        final InputMethodManager imm) {
    final String packageName = context.getPackageName();
    for (final InputMethodInfo imi : imm.getEnabledInputMethodList()) {
        if (packageName.equals(imi.getPackageName())) {
            return true;
        }
    }
    return false;
}
 
開發者ID:sergeychilingaryan,項目名稱:AOSP-Kayboard-7.1.2,代碼行數:19,代碼來源:UncachedInputMethodManagerUtils.java


注:本文中的android.view.inputmethod.InputMethodManager.getEnabledInputMethodList方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。