相关疑难解决方法(0)

广播和接收额外双打

我正在尝试在 adb shell 中的 am 广播中广播额外内容。在我的 android 中的 BroadcastReceiver 中,我订阅了广播并从 Bundle 中提取了额外内容。

我的麻烦在于双打。我假设广播可以包含 double,因为该类Bundle有一个getDouble方法,例如:

double percentComplete = bundle.getDouble("percent_complete");
Run Code Online (Sandbox Code Playgroud)

然而,adb shell 中的 am Broadcast 命令似乎不支持双精度数,只支持浮点数。当我发送 float 时,Bundle.getDouble() 方法抛出一个内部异常,记录在警告级别,表明它无法将 Float 转换为 Double。

我可以发送双精度数,还是被迫使用浮点数?

据 am 报道,以下是我所知道的用于指定附加功能的标志。

<INTENT> specifications include these flags and arguments:
    [-a <ACTION>] [-d <DATA_URI>] [-t <MIME_TYPE>]
    [-c <CATEGORY> [-c <CATEGORY>] ...]
    [-e|--es <EXTRA_KEY> <EXTRA_STRING_VALUE> ...]
    [--esn <EXTRA_KEY> ...]
    [--ez <EXTRA_KEY> <EXTRA_BOOLEAN_VALUE> ...]
    [--ei <EXTRA_KEY> <EXTRA_INT_VALUE> ...]
    [--el <EXTRA_KEY> <EXTRA_LONG_VALUE> ...]
    [--ef <EXTRA_KEY> <EXTRA_FLOAT_VALUE> ...]
    [--eu …
Run Code Online (Sandbox Code Playgroud)

android adb broadcastreceiver

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

标签 统计

adb ×1

android ×1

broadcastreceiver ×1