【发布时间】:2019-11-07 07:44:27
【问题描述】:
我想调用下面的函数。
mobileView.loadUrl("javascript:setUserId () ");
而且 mobileView 在 MainActivity 中。
public class MainActivity extends AppCompatActivity {
private WebView mobileView;
}
我想在 SecondActivity 完成后调用上面的函数。
public class SecondActivity extends AppCompatActivity {
...
private void getUserId () {
...
finish();
}
}
而 SecondActivity 从 AReceiver 开始。
public class AReceiver extends BroadcastReceiver {
public void onReceive(Context context, Intent intent) {
...
Intent i = new Intent(context, SecondActivity.class);
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
...
context.startActivity(i);
}
}
下面的代码调用了 AReceiver...
class MainActivity {
...
private void userId () {
...
intent = new Intent(MainActivity.this, AReceiver.class);
pendingIntent = PendingIntent.getBroadcast(
MainActivity.this,
alarmID,
intent,
PendingIntent.FLAG_UPDATE_CURRENT
);
alarmManager.set(
AlarmManager.RTC_WAKEUP,
mCalendar.getTimeInMillis(),
pendingIntent
);
...
}
...
}
但我不知道如何从 SecondActivity 访问 mobileView。 有什么解决办法吗?
我尝试过的...
- 从 更改变量
private webView mobileView
到
public webView mobileView
2。 从 SecondActivity 调用使用
MainActivity.mobileView
这对我不起作用。
【问题讨论】:
-
你是从 MainActivity 启动 SecondActivity
-
不,我从另一个接收器开始 SecondActivity 扩展 BroadcastReceiver .....
-
然后您可以使用本地广播管理器或事件总线并传递所需的数据和信息并执行所需的方法。签出此stackoverflow.com/questions/8802157/…
-
谢谢!希望你有一个美好的一天:D