diff options
| author | Nick Pelly <npelly@google.com> | 2009-09-24 11:14:15 -0700 |
|---|---|---|
| committer | Nick Pelly <npelly@google.com> | 2009-09-24 19:34:54 -0700 |
| commit | 18b1e79a123b979d25bfa5d0b0ee5d0382dbd64b (patch) | |
| tree | e0d6ccb1c8c3c7b6a653253f0b98a416f3521025 /core/java/android/bluetooth | |
| parent | cc89ef3d6e9b1f9be657c9158ad04b8de104434c (diff) | |
| download | frameworks_base-18b1e79a123b979d25bfa5d0b0ee5d0382dbd64b.zip frameworks_base-18b1e79a123b979d25bfa5d0b0ee5d0382dbd64b.tar.gz frameworks_base-18b1e79a123b979d25bfa5d0b0ee5d0382dbd64b.tar.bz2 | |
Bluetooth API: Do not allow apps to programmatically make BT discoverable.
Instead add ACTION_REQUEST_DISCOVERABLE for the system to show a dialog to
adjust discoverable mode.
Also remove createBond(), removeBond() and cancelBondProcess(). The Settings
App already handles these automatically when connections require bonding.
Change-Id: I216154cd1b6de410de64ba91b07d7263ac03e8df
Diffstat (limited to 'core/java/android/bluetooth')
| -rw-r--r-- | core/java/android/bluetooth/BluetoothAdapter.java | 39 | ||||
| -rw-r--r-- | core/java/android/bluetooth/BluetoothDevice.java | 3 |
2 files changed, 41 insertions, 1 deletions
diff --git a/core/java/android/bluetooth/BluetoothAdapter.java b/core/java/android/bluetooth/BluetoothAdapter.java index 1fc22fe..6aec52c 100644 --- a/core/java/android/bluetooth/BluetoothAdapter.java +++ b/core/java/android/bluetooth/BluetoothAdapter.java @@ -104,6 +104,38 @@ public final class BluetoothAdapter { public static final int STATE_TURNING_OFF = 13; /** + * Activity Action: Show a system activity that requests discoverable mode. + * <p>Discoverable mode is equivalent to {@link + * #SCAN_MODE_CONNECTABLE_DISCOVERABLE}. It allows remote devices to see + * this Bluetooth adapter when they perform a discovery. + * <p>For privacy, Android is not by default discoverable. + * <p>The sender can optionally use extra field {@link + * #EXTRA_DISCOVERABLE_DURATION} to request the duration of + * discoverability. Currently the default duration is 120 seconds, and + * maximum duration is capped at 300 seconds for each request. + * <p>Notification of the result of this activity is posted using the + * {@link android.app.Activity#onActivityResult} callback. The + * <code>resultCode</code> + * will be the duration (in seconds) of discoverability, or a negative + * value if the user rejected discoverability. + * <p>Applications can also listen for {@link #ACTION_SCAN_MODE_CHANGED} + * for global notification whenever the scan mode changes. + * <p>Requires {@link android.Manifest.permission#BLUETOOTH_ADMIN} + */ + @SdkConstant(SdkConstantType.ACTIVITY_INTENT_ACTION) + public static final String ACTION_REQUEST_DISCOVERABLE = + "android.bluetooth.adapter.action.REQUEST_DISCOVERABLE"; + + /** + * Used as an optional int extra field in {@link + * #ACTION_REQUEST_DISCOVERABLE} intents to request a specific duration + * for discoverability in seconds. The current default is 120 seconds, and + * requests over 300 seconds will be capped. These values could change. + */ + public static final String EXTRA_DISCOVERABLE_DURATION = + "android.bluetooth.adapter.extra.DISCOVERABLE_DURATION"; + + /** * Broadcast Action: Indicates the Bluetooth scan mode of the local Adapter * has changed. * <p>Always contains the extra fields {@link #EXTRA_SCAN_MODE} and {@link @@ -388,10 +420,15 @@ public final class BluetoothAdapter { * {@link #SCAN_MODE_NONE}, * {@link #SCAN_MODE_CONNECTABLE}, * {@link #SCAN_MODE_CONNECTABLE_DISCOVERABLE}. - * <p>Requires {@link android.Manifest.permission#BLUETOOTH_ADMIN} + * <p>Requires {@link android.Manifest.permission#WRITE_SECURE_SETTINGS} + * <p>Applications cannot set the scan mode. They should use + * <code>startActivityForResult( + * BluetoothAdapter.ACTION_REQUEST_DISCOVERABLE}) + * </code>instead. * * @param mode valid scan mode * @return true if the scan mode was set, false otherwise + * @hide */ public boolean setScanMode(int mode) { try { diff --git a/core/java/android/bluetooth/BluetoothDevice.java b/core/java/android/bluetooth/BluetoothDevice.java index b52a822..c714f69 100644 --- a/core/java/android/bluetooth/BluetoothDevice.java +++ b/core/java/android/bluetooth/BluetoothDevice.java @@ -427,6 +427,7 @@ public final class BluetoothDevice implements Parcelable { * <p>Requires {@link android.Manifest.permission#BLUETOOTH_ADMIN}. * * @return false on immediate error, true if bonding will begin + * @hide */ public boolean createBond() { try { @@ -440,6 +441,7 @@ public final class BluetoothDevice implements Parcelable { * <p>Requires {@link android.Manifest.permission#BLUETOOTH_ADMIN}. * * @return true on sucess, false on error + * @hide */ public boolean cancelBondProcess() { try { @@ -456,6 +458,7 @@ public final class BluetoothDevice implements Parcelable { * <p>Requires {@link android.Manifest.permission#BLUETOOTH_ADMIN}. * * @return true on sucess, false on error + * @hide */ public boolean removeBond() { try { |
