gpt4 book ai didi

java - 从 JobIntentService 调用 Activity 方法

转载 作者:行者123 更新时间:2023-12-01 19:58:59 25 4
gpt4 key购买 nike

我想在 onHandleWork 内的 for 循环中调用非静态方法。我怎样才能实现这一目标?

@Override
protected void onHandleWork(@NonNull Intent intent) {
Log.d(TAG, "onHandleWork");

String input = intent.getStringExtra("inputExtra");


for (int i = 0; i < 10; i++) {
Log.d(TAG, input + " - " + i);

new MainActivity.method();

if (isStopped()) return;

SystemClock.sleep(1000);
}
}

最佳答案

您应该广播一条消息,表明 Activity 正在监听。

要实现这一点,请在 Activity 上使用广播接收器,并使用 context.sendBroadcast(intent) 从作业服务发送它

您可以通过以编程方式或在 AndroidManifest.xml 文件中声明广播接收器来监听您的 Activity。请注意,如果您以编程方式声明它,则 Activity 将仅在打开时接收广播。如果您使用 list 方法,当您的 Activity 未打开并且您发送广播时,系统将启动您的 Activity

接收广播: https://developer.android.com/guide/components/broadcasts.html#manifest-declared-receivers

发送广播: https://developer.android.com/guide/components/broadcasts.html#sending-broadcasts

文档: https://developer.android.com/reference/android/content/BroadcastReceiver

关于java - 从 JobIntentService 调用 Activity 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59017241/

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