2017-05-21 7 views
0

ブルートゥースデバイスが接続されているときにアンドロイド携帯電話でアプリケーションを起動するにはどうすればよいですか?ブルートゥースデバイスが接続されているときにアプリケーションを起動する

私は放送受信機でこれをやろうとしているが、私は一つの問題を持っている...私は活動(出口アプリケーション)を終了したときに、放送受信機が未登録でなければなりません...ので、接続に耳を傾けるする方法はありませんデバイス...

アプリケーションの終了後、この放送受信機を生き続けるにはどうすればいいですか?

おかげ

EDIT:

public class AutostartReceiver extends BroadcastReceiver 
{ 
    /** 
    * @param context Context 
    * @param intent Intent 
    * @return void 
    */ 
    @Override 
    public void onReceive(Context context, Intent intent) 
    { 

     String action = intent.getAction(); 

     switch (action) 
     { 
      case BluetoothDevice.ACTION_ACL_CONNECTED: 
       Log.v("PAREK", "cnn"); 
       break; 

      case BluetoothDevice.ACTION_ACL_DISCONNECTED: 
       Log.v("PAREK", "dnn"); 
       break; 
     } 
    } 
} 

私もちょうどマニフェスト初期化してtryied

<receiver 
      android:name=".Model.Tools.AutostartReceiver"> 
      <intent-filter> 
       <action android:name="android.bluetooth.BluetoothDevice.ACTION_ACL_CONNECTED" /> 
       <action android:name="android.bluetooth.BluetoothDevice.ACTION_ACL_DISCONNECT_REQUESTED" /> 
       <action android:name="android.bluetooth.BluetoothDevice.ACTION_ACL_DISCONNECTED" /> 
      </intent-filter> 
     </receiver> 

EDIT2:

なぜ?私のアプリケーションは車内でのみ動作するようにしたいので...アプリケーションが車のハンズフリーに接続されると、アプリケーションが起動します...そして5分間の切断後、アプリケーションは "終了"します。

答えて

1

あなたの活動の代わりにServiceに放送受信機を登録し、onStartCommandSTART_STICKYを返して、活動が殺された後でも継続して放送したいと思うでしょう。例:それは私が活動を終了した場合、放送受信機が自動的に何もしない...なぜIDK(しかし、GPSのリスナーがまだ動作)動作しません

@Override 
public int onStartCommand(Intent intent, int flags, int startId) { 
    return START_STICKY; 
} 
+0

... @Dillonバートン –

+0

あなたは '権限を追加しました<名前= "android.permission.BLUETOOTH" /> 'と' <アンドロイド許可使用しています:名= "android.permission.BLUETOOTH_ADMIN" /> 'アンドロイド許可使用していますか? –

+0

また、ブロードキャストレシーバーが発砲していないか、スイッチのステートメントでケースに当たらないことはありますか? –

関連する問題