是否可以从首选项片段xml启动蓝牙发现

时间:2013-05-25 18:05:23

标签: android xml android-fragments sharedpreferences

我有一个偏好片段,我正在尝试设置自定义偏好选项来执行某些操作。最初我正在寻找一种添加itemclicklistener的方法,但是看起来使用PreferenceFragments你不能这样做。

 <Preference android:title="prefs_web_page" >
        <intent android:action="android.intent.action.VIEW"
                android:data="http://www.example.com" />
 </Preference>

使用上面我猜想这样的事情应该有用

   <Preference android:title="prefs_discover" >
   <intent android:action="android.intent.action.RUN"
         android:data ="BluetoothAdapter.ACTION_REQUEST_DISCOVERABLE"/>
   </Preference>

我用RUN和View尝试过,似乎都没有用。甚至可以做我想做的事情吗?

如果这是一个更有效的选择,我愿意接受建议。

编辑:见下面的讨论。

我用一些代码创建了一个活动来启动BT Discoverable,紧接着我使用了finish();关闭活动,以便用户永远不会看到它。

这很脏,但它完成了工作。仍然愿意提出使其更有效等方面的建议。

1 个答案:

答案 0 :(得分:0)

mBTA = BluetoothAdapter.getDefaultAdapter();
    if (mBTA == null){
        return;
    }
    if (!mBTA.isEnabled()){
        Intent enableBT = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
        startActivityForResult(enableBT, 0xDEADBEEF);
    }
    mBTA.startDiscovery();

但这不是偏好。