2017-10-03 13 views
0

私は外部の入力デバイスを識別する方法を探しています。入力デバイスを決定する方法は外部です

[InputDevice]クラスのAndroid APIには[isExternal]という関数があります。しかし、私はそれを使用しようとすると、それは方法を解決できないことを私に伝えます。私はオンラインAPIリファレンスをチェックして、その関数が存在しないことに気付きます。ですから、私はなぜAPIの機能があるのでしょうか?オンラインリファレンスではないのでしょうか?

参考: https://developer.android.com/reference/android/view/InputDevice.html https://android.googlesource.com/platform/frameworks/base/+/master/core/java/android/view/InputDevice.java

答えて

0

isExternalは、SDKを介してアクセスすることはできません隠された方法です。ただし、Javaリフレクションを使用して呼び出すことはできます。

public boolean isExternal(InputDevice inputDevice) { 
    try { 
     Method m = InputDevice.class.getMethod("isExternal"); 
     return (Boolean) m.invoke(inputDevice); 
    } catch (NoSuchMethodException | IllegalAccessException | InvocationTargetException e) { 
     e.printStackTrace(); 
     return false; 
    } 
} 

ソース:What does @hide mean in the Android source code?

関連する問題