2017-11-30 14 views
2

タッチスクリーン付きのRaspberry PI 3でAndroidのものを使用しました。そして、私は例えばWiFi接続を設定する必要があります。私のアプリケーションに戻る必要がありますが、ピンに接続するボタンが1つしかありません。このボタンは、アンドロイドデバイスの[戻る]ボタンとして機能する必要があります。ボタンを押して、このコードを実行 :Androidの設定やその他の活動から戻る

Runtime.getRuntime().exec("adb shell input keyevent 4"); 

をしかし、私が得る例外:

java.io.IOException: error=13, Permission denied 

私はPCからのコマンドラインを介してコマンドを送信する - すべては良い仕事が、デバイス上で - パーミッションが 何が間違っを否定?これは、私のアンドロイドが根付いていないからです。

また、メインアクティビティでOnBackPressを呼び出してみましたが、これは自分のアプリケーションでのみ有効で、設定からは戻っていません。

+1

[MCVE]を入力してください。また、コードをどこで実行するか説明してください。 Androidデバイスやデスクトップマシンで実行していますか? –

+1

@ Code-Apprentice EvgeniyはRaspberry PI 3でコードを実行しています。問題を再現するために検証可能なコードは必要ないと思います。 AndroidThingsに戻るボタンはありません。私は同じ問題を抱えています。戻るボタンをクリックするには何らかの方法が必要ですが、何も見つかりません。 – Sergey

+0

[Androidの状況:Androidの設定画面を終了するには?](https://stackoverflow.com/a/46139931/3290339) – Onik

答えて

0

root権限を持っていない場合は、シェルコマンドを使用してデバイスで直接キーを押すことはできません。ボタンをシステムに送信させるには、InputDriverを使用する必要があります(BACKボタンをサポートするかどうかはわかりませんが)。

また、デバイスでシェルコマンドを実行している場合、adb shellは必要ありません。あなたはすでにシェルに入っています。

+0

「Android Things」はルートです。 – Onik

0

AndroidThings(DP6)の最新バージョンでは、アプリをインストールする前にランチャーからWifi接続を設定できます。

wifi launcher

他の開発者が提供するIOT_LAUNCHER活性が存在しない場合、このランチャーが表示されています。

Wi-Fi(タッチスクリーンを使用)を設定したら、アプリをインストールできます。


もっとプログラム的なアプローチが必要な場合は、アプリをインストールすることはできますが、IOT_LAUNCHERの意図があるアクティビティは無効にすることができます。ランチャーが表示されます。一方、接続の変更を監視するために登録しました.Wifiが接続されると、ランチャーのアクティビティが再び有効になります。 (これはちょうど私がこれを試していない理論的です)。

+1

DP6はクールですが、バックボタンの問題をどのように解決しますか? – Sergey

+0

彼は画面から無線LANを設定する方法を尋ねてから、自分のアプリに戻ってきました。 – Blundell

+1

彼は「設定や他の活動から戻ってくる」ことを私は理解しています。そして、WiFiの設定は単なる例でした。 – Sergey

関連する問題