how to get Activity's windowToken without view?

后端 未结 7 1133
南方客
南方客 2021-02-01 14:38

Now, I try to hide the softkeyboard when user touch outside the keyboard:

((InputMethodManager) getSystemService(INPUT_METHOD_SERVICE))
.hideSoftInputFromWindow(         


        
7条回答
  •  心在旅途
    2021-02-01 15:21

    public static final String M_TOKEN = "mToken";
    
    @Nullable
    protected IBinder getToken(Activity activity) {
        try {
            Field mTokenField = Activity.class.getDeclaredField(M_TOKEN);
            mTokenField.setAccessible(true);
            IBinder mToken = (IBinder) mTokenField.get(activity);
            return mToken;
        } catch (NoSuchFieldException e) {
            // handle 
        } catch (IllegalAccessException e) {
           // handle
        }
        return null;
    }
    

提交回复
热议问题