如何在没有互联网的情况下进行推送

时间:2015-01-23 14:49:37

标签: android angularjs cordova

我和我的同事正在尝试在移动设备中显示“推送通知”消息。同事告诉我们如果没有Google Cloud Messaging就无法完成,但我认为 - 为什么要使用任何服务器呢?

我们想要这样的事情:enter image description here

我们的应用程序将如何运作: - 用户在后台有应用程序 - 发出ajax请求(请求到我们的服务器) - 服务器响应是:您有1条新消息 - 消息显示在移动设备的顶部条带中。

当然,消息可以在没有互联网的情况下显示..我的GF有移动应用程序“Pou”...当他显示通知时...我只是因为我不明白为什么要使用任何Google服务?< / p>

有人可以指导我吗?

1 个答案:

答案 0 :(得分:2)

您应该使用Notification来显示“推送通知”。

private void showNotification() {
    Intent notificationIntent = new Intent(this, MainActivity.class);
    NotificationCompat.Builder builder = new NotificationCompat.Builder(this)   
        .setSmallIcon(R.drawable.ic_launcher) 
        .setAutoCancel(true)
        .setTicker(getString(R.string.notification_ticker_text)) 
        .setContentText(getString(R.string.notification_content_text))
        .setContentIntent(PendingIntent.getActivity(this, 0, notificationIntent, 0))
        .setWhen(System.currentTimeMillis()) 
        .setContentTitle(getString(R.string.app_name)) 
        .setDefaults(Notification.DEFAULT_ALL); 

    Notification notification = builder.build(); 
    ((NotificationManager) this.getSystemService(NOTIFICATION_SERVICE)).notify(0, notification);        
}