我是java新手,想知道如何在后台与服务一起运行活动。这样,当活动关闭并重新打开时,它将与服务一起继续。我不知道怎么解释。
假设3个服务,每个服务每小时执行一次。
服务1。。。1小时。。。服务2。。。1小时。。。服务3。已完成。
每次执行时,都会在活动中设置一个文本视图。但是当活动关闭时,不会创建文本视图。
我找到的唯一方法是使用变量,如下例所示
服务1:
public int service_one_done = 1;
服务2:
public int service_two_done = 1;
服务3:
public int service_three_done = 1;
创建活动:
if (service_one_done == 1) { textview_example1.setVisibility(View.VISIBLE)
} if (service_two_done == 1) { textview_example2.setVisibility(View.VISIBLE)
} if (service_three_done == 1) { textview_example3.setVisibility(View.VISIBLE)
}
我想知道是否有更好的方法
在我的服务课上,我写了这个
private static void sendMessageToActivity(Location l, String msg) {
Intent intent = new Intent("GPSLocationUpdates");
// You can also include some extra data.
intent.putExtra("Status", msg);
Bundle b = new Bundle();
b.putParcelable("Location", l);
intent.putExtra("Location", b);
LocalBroadcastManager.getInstance(context).sendBroadcast(intent);
}
在活动端,我们必须接收广播信息
LocalBroadcastManager.getInstance(getActivity()).registerReceiver(
mMessageReceiver, new IntentFilter("GPSLocationUpdates"));
通过这种方式,您可以将消息发送到活动。这里mMessageRecencer是该类中的类,您将执行您想要的任何内容......
在我的代码中,我做到了。。。。
private BroadcastReceiver mMessageReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
// Get extra data included in the Intent
String message = intent.getStringExtra("Status");
Bundle b = intent.getBundleExtra("Location");
lastKnownLoc = (Location) b.getParcelable("Location");
if (lastKnownLoc != null) {
tvLatitude.setText(String.valueOf(lastKnownLoc.getLatitude()));
tvLongitude
.setText(String.valueOf(lastKnownLoc.getLongitude()));
tvAccuracy.setText(String.valueOf(lastKnownLoc.getAccuracy()));
tvTimestamp.setText((new Date(lastKnownLoc.getTime())
.toString()));
tvProvider.setText(lastKnownLoc.getProvider());
}
tvStatus.setText(message);
// Toast.makeText(context, message, Toast.LENGTH_SHORT).show();
}
};
此处引用
问题内容: 抱歉再次困扰您,但是我仍然找不到从活动到服务的回调方法… 找到了类似的问题- 如何在Android中定义回调? 但还不确定如何将该示例集成到我的项目中。 任何建议或指向清晰教程的链接都很棒! 问题答案: 在示例中显示的这种回调(观察者模式)在服务和活动之间不起作用。当您从类A 创建了 类B 的实例 并希望将回调从B发送到A 时,请使用观察者模式。 关于服务和活动,情况完全不同。AFAI
样品https://github.com/spring-projects/spring-integration-samples/tree/master/basic/tcp-client-server非常适合构建TCP服务器应用程序。它很简单,可以在JVM上运行。它不需要任何应用服务器。 示例使用命令行输入来运行程序。我希望服务器仅从套接字端口而不是通过命令行接受数据。如果删除命令行输入,主线程将完
假设我在服务中有一个可用的字符串test=“value”,并希望将其发送到我正在运行的mainactivity。如何安全地发送数据?我在寻找一个最简单的例子,其他应用程序看不到数据。当我看意图时,它会说: 广播是任何应用程序都可以接收的消息。系统为系统事件提供各种广播,例如当系统启动或设备开始充电时。您可以将广播发送到 但是,我只想将其发送到我的应用程序,因为它包含私人数据。在我的服务中,我尝试了
我已经在我的应用程序中实现了AdMob Interstival方法如下: 我在我的活动中构造ads对象。(广告对象对活动有引用) 在我的广告对象中,我用计时器检查间隙是否在最后三分钟显示,如果没有显示,我会通过处理程序显示给该活动。 如果活动被停止或破坏,我也会停止我的广告计时器 大多数情况下,此方案都能正常工作。但有时即使应用程序已经退出,广告也会出现一次。 有没有办法从我的ads对象中检查该活
我是Android开发新手,有一些关于生命周期活动的东西我不理解,特别是关于我正在研究的以下应用程序示例。 在我的应用程序中,我有一个登录活动和主活动。 > < li> 在我的登录活动中,如果尝试成功,将启动主活动,并完成()登录活动。< br>== 在我的主要活动中,我有一个断开连接按钮,该按钮创建了一个启动(新?)登录活动的 Intent。 == start activity(loginAct
问题内容: 如标题所示,方案是:首次使用该应用程序时,显示屏幕A。完成屏幕A后,该按钮将引导您进入屏幕B。从现在开始,直到永远,屏幕B始终是主屏幕“启动应用程序时,屏幕上显示“屏幕(活动?)”。我正在尝试这2天,但我收不到。有人请解释一些细节,甚至最好给我扔一个code.rar,这样我就可以研究它。我为此感到疯狂!!! 问题答案: 只需在AndroidManifest.xml中将您的Activit