2011-09-21 153 views
1

我已經編寫了一個應用程序來使用語音打開藍牙(只是調用了intent並使用了Action.request.enable方法)。它的工作很好..從應用程序中關閉藍牙

現在我想關閉藍牙。我嘗試使用bluetoothadapter.disable(),但整個應用程序崩潰。請幫我。這是我的代碼

BluetoothAdapter mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); 
if(mBluetoothAdapter.isEnabled()) 
       { 
        mBluetoothAdapter.disable(); 
       } 
+0

能否請您粘貼logcat的。這樣我們可以分析並告訴你實際的問題。 –

+0

可能是你想要的是http://stackoverflow.com/questions/3806536/how-to-enable-disable-bluetooth-programmatically-in-android –

+3

你在清單文件中添加了這個權限 Pratik

回答

0

嘗試一下本作禁止

Intent discoverableIntent = new 
Intent(BluetoothAdapter.ACTION_REQUEST_DISCOVERABLE); 
discoverableIntent.putExtra(BluetoothAdapter.EXTRA_DISCOVERABLE_DURATION, 1); 
startActivity(discoverableIntent); 

更多的幫助:: this

0

粘貼一些logcat的信息會有所幫助。

我發現Android沒有提供startActivityForResult來彈出一個窗口來提醒用戶關閉藍牙。所以你必須調用BluetoothAdapter.disable()方法來關閉藍牙。

1.在使用startActivityForResult,意圖提醒用戶開啓藍牙,它的working.It意味着你已經與許可

<uses-permission android:name="android.permission.BLUETOOTH" /> 

2.當您使用BluetoothAdapter的聲明。禁用()方法來關閉藍牙,應用crashed.I認爲,也許你錯過了許可

<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" /> 

爲BluetoothAdapter.disable()的聲明。

注:

BluetoothAdapter.getDefaultAdapter() needs: 
<uses-permission android:name="android.permission.BLUETOOTH" /> 

BluetoothAdapter.disable() needs: 
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />