0
どのようにAndroidデバイスを検出するには、すべてのSDKバージョン(すべてのデバイス)の仮想ホームボタンまたは物理的なホームボタンがプログラム的に含まれていますか?
一部のデバイスに以下のように仮想ホームボタンが含まれており、いくつかの他のデバイスの質問はどのキーが含まれているデバイスを見つける方法ですmodel.myサムスンデュオのような物理ホームボタンが含まれています。
どのようにAndroidデバイスを検出するには、すべてのSDKバージョン(すべてのデバイス)の仮想ホームボタンまたは物理的なホームボタンがプログラム的に含まれていますか?
一部のデバイスに以下のように仮想ホームボタンが含まれており、いくつかの他のデバイスの質問はどのキーが含まれているデバイスを見つける方法ですmodel.myサムスンデュオのような物理ホームボタンが含まれています。
adb shell getevent -lp
イベントの可能性のある入力デバイスのリストが表示されます。
KEY_VOLUMEUP
KEY_VOLUMEDOWN
または少なくともKEY_POWER
を含むキーデバイスまでスクロールします。
KEY_HOMEPAGE
またはKEY_HOME
と表示されている場合、ボタンは物理的です。
そうでない場合は仮想です。 Javaでの取り扱い
:
try {
StringBuilder device_folder = new StringBuilder();
ArrayList<String> command_list2 = new ArrayList<String>();
command_list2.add("getevent");
command_list2.add("-lp");
ProcessBuilder process_builder2 = new ProcessBuilder().command(command_list2).redirectErrorStream(false);
Process process = process_builder2.start();
BufferedReader buffered_reader2 = new BufferedReader(new InputStreamReader(process.getInputStream()));
String line = "";
while ((line = buffered_reader2.readLine()) != null) {
device_folder.append(line + "\n");
}
if (device_folder.toString().contains("KEY_HOMEPAGE")
|| device_folder.toString().contains("KEY_HOME")) {
//physical button
}
else {
//virtual button
}
} catch (IOException e) {
e.printStackTrace();
}
私はコマンドが得意ではないです申し訳ありませんが、あなたは – user3746018
があなたのjavaファイルをチェックインまたはadbのシェルを使用して、手動でそれを実行しますかアンドロイドporgramaticallyで私を説明してくださいだろうか? –
私はJavaファイルのみをチェックしたい – user3746018