【问题标题】:Is it possible to launch Bluetooth Discovery from a preference fragment xml是否可以从首选项片段 xml 启动蓝牙发现
【发布时间】:2013-05-25 18:05:23
【问题描述】:

我有一个偏好片段,我正在尝试设置一个自定义偏好选项来做某事。最初我正在寻找一种添加 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();关闭活动,以便用户永远不会看到它。

它很脏,但它可以完成工作。仍然对提高效率等方面的建议持开放态度。

【问题讨论】:

    标签: android xml android-fragments sharedpreferences


    【解决方案1】:
    mBTA = BluetoothAdapter.getDefaultAdapter();
        if (mBTA == null){
            return;
        }
        if (!mBTA.isEnabled()){
            Intent enableBT = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
            startActivityForResult(enableBT, 0xDEADBEEF);
        }
        mBTA.startDiscovery();
    

    但这不是偏好。

    【讨论】:

    • 我应该澄清一下。我知道如何在课堂上做到这一点,比如将它设置为启动,这是你会做的,或者点击按钮。但我需要它作为选项片段中的点击。奇怪的是没有基本的能力来做到这一点。他们有复选框、收音机/选择列表等,但没有基本的执行操作
    • 一个想法,也许如果我把那种代码放在一个活动中,然后从选项菜单中打开活动。是时候测试一下了
    • 对不起,我不知道:P
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-07-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多