gpt4 book ai didi

android - 如何从广播接收器访问我的主要 Activity 中的 webview?

转载 作者:行者123 更新时间:2023-11-29 20:33:21 25 4
gpt4 key购买 nike

我的需要是我有一个广播接收器和一个有 webview 的 Activity 。所以当接收者收到一些事件时,我需要将一些参数传递给 webivew 或运行一些 JS 代码。怎么做?

我无法找到一种方法来从接收器访问我的主要 Activity 中的 webview 对象。

最佳答案

您应该能够将广播接收器定义为 Activity 中的内部类。在同一 Activity 中,您应该引用广播接收器可以访问的 WebView。

public class MyActivity extends Activity {
WebView mWebview;
BroadcastReceiver mBroadcastReceiver;

@Override
protected void onCreate() {
...
mWebView = (WebView) findViewById(R.id.webview);
if (mBroadcastReceiver == null) {
mBroadcastReceiver = new MyBroadcastReceiver();
}
...
}

@Override
public void onResume() {
//register broadcast receiver
}

@Override
public void onPause() {
//unregister broadcast receiver
}
class MyBroadcastReceiver extends BroadcastReceiver {
@Override
onReceive(Intent intent) {
//Receive intent here
//Call instance of webview
mWebView.doSomething();
}
}
}

此外,您还需要在 Activity 的 onResume() 方法中动态注册您的广播接收器,并在 onPause() 方法中注销它。

关于android - 如何从广播接收器访问我的主要 Activity 中的 webview?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31678593/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com