自定义键盘 Android 获取当前应用

Custom Keyboard Android get current App

我希望使用我的自定义键盘服务获取当前应用程序的 name/packageName。

有办法吗?

private String getApplicationName() {
    final PackageManager pm = mActivity.getApplicationContext()
            .getPackageManager();
    ApplicationInfo ai;
    String appName;
    try {
        ai = pm.getApplicationInfo(mActivity.getPackageName(), 0);
        appName = (String) pm.getApplicationLabel(ai);
    } catch (final NameNotFoundException e) {
        appName = "(unknown)";
    }
    return appName;
}

使用此方法获取Appname/Package姓名

在该主题中找到答案:How to check current running applications in Android?

如果应用程序是 运行 它显然是调用我的键盘的应用程序。

您必须依靠 getCurrentInputEditorInfo()InputMethodService 中的一种方法来实现此目的:

String packageName = getCurrentInputEditorInfo().packageName;