小编clo*_*oud的帖子

来自Service内的Android蓝牙

我有一个理论上可以在没有与之关联的Activity的情况下工作的服务(因为"服务"是在Android平台上).

此服务使用蓝牙,特别是注册具有侦听通信的给定名称的蓝牙服务.当然要工作,它必须激活蓝牙.

正如蓝牙api文档中所示,我正在使用它BluetoothAdapter.ACTION_REQUEST_ENABLE来提示用户启用蓝牙,以防它已经打开.但是,这是一项活动,因此需要从另一项活动中调用,即:

Intent enableIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
InstanceOfAnActivity.startActivity(enableIntent);
Run Code Online (Sandbox Code Playgroud)

我想实现的是有服务(其中,例如,在开机启动时),从任何活动完全解耦,因此不会有InstanceOfAnActivity启动弹出指导用户打开蓝牙.

现在,我知道有(臭名昭着的)调用BluetoothAdapter.enable(),但正如文档所说,它不应该被直接调用.

那么,任何针对这种困境的提示/解决方案?(也许这很简单,我只是遗漏了一些......)

service android bluetooth

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

Android上的DH Keypair生成时间

这是我用来生成DH密钥对的代码:

KeyPairGenerator keyGen = KeyPairGenerator.getInstance("DH");
keyGen.initialize(1024, new SecureRandom());
KeyPair ackp = keyGen.generateKeyPair();
Run Code Online (Sandbox Code Playgroud)

(当然没有必要的尝试/捕获).

我已经做了一些测试,迭代地运行这些代码并改变密钥大小(特别是从128步增加到128步到1024. 1024将是所需的大小.

首先,运行每个大小生成10次以使结果具有一些最小的std偏差会导致结果的高波动,平均而言,创建密钥(1024位)所需的时间是:683027ms,其向上舍入到周围创建密钥需要11分钟.

问题是:

  1. 有没有人得到相同的结果?
  2. 为了实现更低的时间,是否需要进行一些优化?
  3. 什么是高波动依赖?(即生成1024位密钥,可能需要18秒到30分钟...)

测试已在Nexus-One手机上进行

提前感谢您对"问题"有所了解

问候

time android nexus-one diffie-hellman

3
推荐指数
1
解决办法
3266
查看次数

标签 统计

android ×2

bluetooth ×1

diffie-hellman ×1

nexus-one ×1

service ×1

time ×1