私はそれを見つけました:http://gitorious.org/android-obex/pages/Home
私のAndroidアプリから呼び出したいのですが、誰かがその方法を知っていますか?
私はそれを見つけました:http://gitorious.org/android-obex/pages/Home
私のAndroidアプリから呼び出したいのですが、誰かがその方法を知っていますか?
リンクしたページのコマンドラインツールは、開発者の電話で使用できるルートadbシェルからの使用を目的としているようであり、特定の消費者の電話で実際に使用できるバージョンのBluetoothスタックを使用していない可能性があります。スタンドアロンの実行可能ファイルの使用も「Androidの方法」ではありません。通常、アプリケーションのプロセス内でjniを介して呼び出すコードをライブラリにビルドする必要がありますが、可能な場合はデバイスでrootとしてコードを実行する必要がある場合は、別のプロセスとして実行する必要があります(アプリ自体をrootとして実行することはできません)。
ルート権限を取得されたデバイスでこのコードを試してみたい場合は、suコマンドを実行し、コマンドラインプログラムの名前とパラメーターをパイプする方法に関する多くのStackOverflowの回答の1つを探してください。これは、機能させるのが難しく、サポートされておらず、すべてのデバイスで確実に機能するとは限りません。
あなたが物事をやりたいのなら、「アンドロイドの方法」は、現在のアンドロイドのブルートゥースAPIにプラグインするようにコードを書いたり適応させたりすることを検討します。これはJavaコードである可能性がありますが、適切なネイティブAPIがあるかどうかを確認したり、ネイティブコードからjniを介してJavaAPIを使用したりできます。
これを読むと便利です:
アプリケーションのコアコンポーネントの3つ(アクティビティ、サービス、ブロードキャストレシーバー)は、インテントと呼ばれるメッセージを介してアクティブ化されます。インテントメッセージングは、同じアプリケーションまたは異なるアプリケーションのコンポーネント間の実行時のバインドを遅らせるための機能です。
インテントを使用すると、アクティビティまたはサービスを開始できます。
いずれかのブロードキャストメソッド(Context.sendBroadcast()、Context.sendOrderedBroadcast()、Context.sendStickyBroadcast()など)に渡されたインテントオブジェクトは、関心のあるすべてのブロードキャストレシーバーに配信されます。多くの種類のブロードキャストは、システムコードから発生します。
したがって、必要なのは、開始するアプリケーションを受信できるインテントを決定し、特定のブロードキャストインテントを送信することだけです。アプリケーションがインストールされている場合は起動され、インストールされていない場合は何も起こりません。
それが役に立てば幸い。