小编rai*_*god的帖子

检测对BluetoothAdapter所做的状态更改?

我有一个带有按钮的应用程序,用于打开和关闭BT.我在那里有以下代码;

public void buttonFlip(View view) {
    flipBT();
    buttonText(view);
}

public void buttonText(View view) {  
    Button buttonText = (Button) findViewById(R.id.button1);
    if (mBluetoothAdapter.isEnabled() || (mBluetoothAdapter.a)) {
        buttonText.setText(R.string.bluetooth_on);  
    } else {
        buttonText.setText(R.string.bluetooth_off);
    }
}

private void flipBT() {
    if (mBluetoothAdapter.isEnabled()) {
        mBluetoothAdapter.disable();    
    } else {
        mBluetoothAdapter.enable();
    }
}
Run Code Online (Sandbox Code Playgroud)

我正在调用按钮Flip,它会翻转BT状态,然后调用ButtonText,它应该更新UI.但是,我遇到的问题是,BT打开需要几秒钟 - 在这几秒钟内,BT状态未启用,使我的按钮说蓝牙关闭,即使它将在2秒内打开.

STATE_CONNECTING在BluetoothAdapter android文档中找到了常量,但是......我根本就不知道如何使用它,成为一个新手和所有.

所以,我有两个问题:

  1. 有没有办法动态地将UI元素(如按钮或图像)绑定到BT状态,这样当BT状态改变时,按钮也会改变?
  2. 否则,我想按下按钮并获得正确的状态(我希望它说BT,即使它只是连接,因为它将在2秒内开启).我该怎么做呢?

java android bluetooth

67
推荐指数
1
解决办法
5万
查看次数

打包后电子托盘图标不显示

我有一个显示托盘图标的 Electron 应用程序,单击该图标时会显示我的主窗口。在开发模式下效果很好,但是当我将它打包(到 .app 文件中)并双击 .app 文件时,没有任何菜单出现,更重要的是,图标没有出现,所以用户永远看不到我的应用程序。

我正在使用电子 React/Redux Boilerplate ( https://github.com/chentsulin/electron-react-boilerplate )

这是我的 main.dev.js 文件 - 任何猜测都值得赞赏:

import { app, BrowserWindow, Tray } from 'electron';
import MenuBuilder from './menu';

let mainWindow = null;
let tray;

if (process.env.NODE_ENV === 'production') {
  const sourceMapSupport = require('source-map-support');
  sourceMapSupport.install();
}

if (
  process.env.NODE_ENV === 'development' ||
  process.env.DEBUG_PROD === 'true'
) {
  require('electron-debug')();
  const path = require('path');
  const p = path.join(__dirname, '..', 'app', 'node_modules');
  require('module').globalPaths.push(p);
}

const installExtensions = async () => {
  const …
Run Code Online (Sandbox Code Playgroud)

electron electron-builder electron-packager

5
推荐指数
1
解决办法
4250
查看次数

使用正则表达式匹配8或9位数

我认为这是一个简单的正则表达式问题 - 我对正则表达式来说相当新,所以,我在这个问题上将它降低了约90%(我认为!).

我需要在文本框中匹配两个字符串(所有数字)中的一个.

 1. ####-####
 2. ########
Run Code Online (Sandbox Code Playgroud)

所以,第一个字符串是9个字符,中间是' - '.第二个字符串是8位数字,其中没有" - ".

我得到的是:

/[\d]{4}-??[\d]{4}/
Run Code Online (Sandbox Code Playgroud)

这很好用,但是因为我必须允许9个字符,因为第一个选项,这也验证了#########(9位数),因为前8个匹配表达式.

那么,我该怎么做?

我想也许包括[^\d]?最后会做(可选,非数字,这将使第9位数字打破匹配),但是,这没有...

谢谢阅读!

javascript regex

1
推荐指数
2
解决办法
1135
查看次数