如何从服务器检测并通知用户消息?

时间:2014-09-10 14:00:52

标签: android android-intent android-activity

app将事务发送到服务器,用户关闭app,现在需要一条消息 10分钟后,从服务器发回电话。手机可能处于睡眠状态,或者用户可能正在检查他的电子邮件。我的问题是:

  1. 如何通知电话已从服务器收到消息?
  2. 如何显示该消息?
  3. 可能的解决方案是谷歌云消息,但我仍然无法回答这两个问题

1 个答案:

答案 0 :(得分:0)

1)你必须使用SERVICE。

2)并显示该消息。

这样做。

变量和方法是Service class的成员:

public final static String ACTION = "com.apps.example.MainActivity";

private void messageFromServer()//this method sends broadcast messages
 {
    Intent intent = new Intent(MOVEMENT_UPDATE);
    String messageFromServer=serverMessage //here you will put server message
    intent.putExtra("MessageFromServer", messageFromServer);

    sendBroadcast(intent);
}

这是主要活动的方法:

您必须在onResume方法中注册接收器:

@Override
public void onResume()
{   

    IntentFilter intentFilter;
    intentFilter= new IntentFilter(YourService.ACTION);
    messageFromServer= new MessageFromServer();
    registerReceiver(messageFromServer, intentFilter);


    startYourService();

    super.onResume();
}

private void startYourService()
{
    startService(new Intent(this, YourService.class));
}

public class MessageFromServer extends BroadcastReceiver
{
  @Override
    public void onReceive(Context context, Intent intent)
    {

            // this method receives broadcast messages. 

            // Be sure to modify AndroidManifest.xml file in 
            // order to enable message receiving

        String messageFromServer = intent.getStringExtra("MessageFromServer");

        updateGUI();// here you can update the ui
    }
}

并将服务放入您的清单文件中。

 <service android:name="com.apps.service.YourService" ></service>