AFSK: SCO service fixes, permission

For no apparent reason, the BROADCAST_STICKY permission is needed
on Android 4.x to allow Bluetooth SCO.
kenwood
Georg Lukas 2012-11-05 17:02:35 +01:00
rodzic 1f3e483e01
commit 3f3bd15bfd
3 zmienionych plików z 7 dodań i 1 usunięć

Wyświetl plik

@ -10,6 +10,7 @@
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BROADCAST_STICKY" />
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/>
<uses-permission android:name="android.permission.RECORD_AUDIO" />

Wyświetl plik

@ -55,6 +55,7 @@ class AfskDemodulator(au : AfskUploader, samplerate : Int) extends Thread("AFSK
this.join(50)
} catch {
case e : IllegalStateException => Log.w(TAG, "close(): " + e)
case e : NullPointerException => // no recorder yet, ignore.
}
}
}

Wyświetl plik

@ -67,7 +67,11 @@ class AfskUploader(service : AprsService, prefs : PrefsWrapper) extends AprsIsUp
if (use_bt) {
service.getSystemService(Context.AUDIO_SERVICE)
.asInstanceOf[AudioManager].stopBluetoothSco()
service.unregisterReceiver(btScoReceiver)
try {
service.unregisterReceiver(btScoReceiver)
} catch {
case e : RuntimeException => // ignore, receiver already unregistered
}
}
}