4

我被要求构建一个 Android 应用程序,它接收来自“中央站”的输入,并收到警报,例如“请立即响应”。

我是 Android 编程的新手,所以我不知道如何获得这样的“实时”输入,所以任何帮助将不胜感激。

这个问题有两个部分。我猜,第一部分取决于我。但对于找到正确的道路仍然很重要。

1)“中央”将如何提醒用户?我现在有两个解决方案:

1.a.) 中央可以向服务器插入一个数据库条目,应用程序不断(每分钟 1 个)向 php 文件发送请求,并询问是否有 id=my_id 和 status="unread" 的条目.

1.b.) 中心向设备发送一条短信,我的应用程序会监听来自该号码的传入短信。

和重要的部分:

2)即使用户关闭了应用程序,我如何确保设备得到“警报”?

谢谢你的帮助!

4

4 回答 4

2

对于您问题的第二部分,甚至是第一部分,您可以创建一个在后台运行的服务。

于 2013-11-01T10:23:50.560 回答
2

根据您的要求,实施推送通知似乎可以解决您的目的, 详情请点击此处

您想每分钟轮询服务器,这也会浪费电池和带宽,为什么不使用推送通知从服务器接收事件

即使应用程序被杀死,您也可以收到推送通知,这样也可以解决您的其他目的

干杯!!

这是为您的应用程序实现推送通知的好教程

于 2013-11-01T10:27:37.027 回答
1

实际上 Anudeep 的答案是正确的,我只是想让它更容易实现 你可以创建一个扩展Service的类,如下所示:

public class YourCustomService extends Service {
...
}

并将它的 onStartCommand 设置为:

@Override
public int onStartCommand(Intent intent, int flags, int startId) {
    Log.i("LocalService", "Received start id " + startId + ": " + intent);
    // We want this service to continue running until it is explicitly
    // stopped, so return sticky.
    return START_STICKY;
}

现在,您有一个服务可以自行启动,无论应用程序是否正在运行,它都可以分配资源,因此您可以编写一些在服务启动后立即运行的代码

这是一个有用的链接

于 2013-11-01T10:45:10.407 回答
1

我认为您正在寻找Google Cloud Messaging API

于 2013-11-01T18:33:54.730 回答