小编QUI*_*PPY的帖子

React Native WebView onMessage不执行任何操作

我正在尝试使用onMessage监听器.该网站正在执行postMessage(window.postMessage("Post message from web");)但反应原生的webview onMessage监听器没有做任何事情!我不知道我做错了什么.

这是HTML

<script type="text/javascript">
  window.postMessage("Post message from web");
</script>
Run Code Online (Sandbox Code Playgroud)

这是反应原生代码:

  <WebView
    ref={( webView ) => this.webView = webView}
    onMessage={this.onMessage}
    source={{uri: 'https://app.sodge.co/login/response.html'}}
  />
Run Code Online (Sandbox Code Playgroud)

onMessage反应原生函数:

onMessage( event ) {
  Alert.alert(
    'On Message',
    event.nativeEvent.data,
    [
      {text: 'OK'},
    ],
    { cancelable: true }
  )
}
Run Code Online (Sandbox Code Playgroud)

这里也是一个世博小吃......我不知道我做错了(:... https://snack.expo.io/S17AQqWbf

html javascript webview react-native

8
推荐指数
3
解决办法
4722
查看次数

使用 Kotlin 完成另一个 Android 活动

我正在尝试使用 kotlin 完成另一个(android)的活动。我知道用java来做这件事的方法是使用以下代码(/sf/answers/726549281/

在第一个活动中:

BroadcastReceiver broadcast_reciever = new BroadcastReceiver() {

    @Override
    public void onReceive(Context arg0, Intent intent) {
        String action = intent.getAction();
        if (action.equals("finish_activity")) {
            finish();
            // DO WHATEVER YOU WANT.
        }
    }
};
registerReceiver(broadcast_reciever, new IntentFilter("finish_activity"));
Run Code Online (Sandbox Code Playgroud)

关于其他活动:

Intent intent = new Intent("finish_activity");
sendBroadcast(intent);
Run Code Online (Sandbox Code Playgroud)

由于某种原因,将 java 活动转换为 kotlin 不会给出有效的输出,如果有人能给我正确的语法来正确地使用kotlin,我将不胜感激

kotlin 输出(第一个活动)[确定]

val broadcast_reciever = object : BroadcastReceiver() {

    override fun onReceive(arg0: Context, intent: Intent) {
        val action = intent.action
        if (action == "finish_activity") { …
Run Code Online (Sandbox Code Playgroud)

java android kotlin

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

将 uint_32_t 转换为网络字节顺序会导致位长度比预期短

我正在尝试将 an 转换uint_64_t为网络字节顺序,为了做到这一点,我将其分成uint_64_t两部分uint_32_t以便使用htonl,因为它只能与 一起使用uint_32_t。我按以下方式拆分它:

uint32_t partA = (uint32_t) (x);
uint32_t partB = (uint32_t) (x >> 32);
Run Code Online (Sandbox Code Playgroud)

例如,当我输入 时x=1,我正确地得到partA=1, partB=0,这非常有道理:

1->[00000000000000000000000000000000][00000000000000000000000000000001]

现在,我决定将 ntohl 应用于每个单独的部分,如下所示:

uint32_t partA = htonl((uint32_t) (x));
uint32_t partB = htonl((uint32_t) (x >> 32)));
Run Code Online (Sandbox Code Playgroud)

我希望partA应该包含相反的位(大端),所以它应该保存值10000000000000000000000000000000(32b),但相反,该值是1000000000000000000000000(25b),比应有的短7b。

c

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

标签 统计

android ×1

c ×1

html ×1

java ×1

javascript ×1

kotlin ×1

react-native ×1

webview ×1