Runtime.getRuntime()。execメソッドを使用して外部プログラム(C言語で記述)を呼び出すアプリケーションを開発しようとしています。このプログラムは、基本的にgstreamerベースのRTSPサーバであり、Androidコマンドプロンプトから実行するとうまくいきます。しかし、私は、アプリケーションからプログラムを実行すると、私は次のエラーが表示されます。Androidアプリケーション:プログラムのソケットアクセスを許可する
は、私は私のAndroidManifest.xmlファイルにネットワークアクセスを与えていたソケット(パーミッション拒否)に結合する
を失敗しました。
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
は私もこれを試してみました:
String cmd = "ping localhost";
Runtime.getRuntime().exec(cmd);
これについて私が得た:
のping:ICMPソケットをオープンします。操作は、私も実行しようとした
を許可されていませんアプリからの別のプログラム(Androidの画面上に画像を表示する - サーフェスフラインガーシンク)そこで、私はandroid.permission.ACCESS_SURFACE_FLINGER
をマニフェストファイルに含めました。しかし、サーフライナーシンクには表示できませんでした。
私は、これらのアクセス許可がこれらの外部プログラムに渡されないと感じています。これを達成する方法はありますか?私はこれらのCベースのプログラムをJavaに変換したくない。