我想在下面调用函数。
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
它对我不起作用。
最佳答案
你可以试试这个选项
意图
..............
您使用startActivityForResult从另一个活动中打开了新活动。在这种情况下,您只需从代码中调用finishActivity()函数,它将带您回到上一个活动。
仅当您从主要活动开始第二个活动时,它才起作用
关于java - 是否存在从其他Activity类访问MainActivity的解决方案?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58744074/