2011-12-23 94 views
1

任何人都可能提供一些關於如何在Android中設置狀態欄通知的建議嗎?Android Phonegap App - 如何發送通知

我的技能都是基於設計/前端開發(因此使用phonegap),所以我是Eclipse的初學者。

我已閱讀本教程 - http://androidforbeginners.blogspot.com/2010/02/how-to-create-status-bar-notifications.html,並將代碼粘貼到我的Android Manifest文件的活動區域。但我不太明白它將如何工作。如果我現在將它編譯爲APK並將其安裝在手機上 - 現在是否準備好接收通知?如果是這樣,我該如何發送它們,以及在哪裏輸入發送代碼?

希望這很簡單,因爲我的老闆希望我能在聖誕節前完成!

歡呼聲,爲您提供幫助。 全部最好 保羅

回答

2

Here你可以找到關於通知源代碼的更好的解釋。

通知可能是對某些事件的反應。例如,你可以用一個按鈕開發一個簡單的應用程序。當您按此按鈕時,狀態欄中將顯示通知。

關於發展。您應該安裝Android SDK,創建設備的模擬器。此外,安裝Android ADT非常有用 - 這是Eclipse的一個插件,可幫助開發Android應用程序。之後,當您構建應用程序時,它將自動安裝在仿真器上。

下面是代碼如何做一個簡單的通知:

package your.package 
import android.app.Activity; 
import android.app.Notification; 
import android.app.NotificationManager; 
import android.app.PendingIntent; 
import android.content.Context; 
import android.content.Intent; 
import android.os.Bundle; 
import android.util.Log; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.widget.Button; 

public class AcNotificationTestMain extends Activity implements OnClickListener { 
    /** Called when the activity is first created. */ 
    private static final int SEND_ID = 1; 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 
     Button mBtnSend = (Button) findViewById(R.id.button1); 
     mBtnSend.setOnClickListener(this); 
    } 

    @Override 
    public void onClick(View arg0) { 
     Log.v("","OnClick..."); 
     // Create an object of Notification manager 
     NotificationManager mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); 

     int icon = android.R.drawable.sym_action_email; // icon from resources 
     CharSequence tickerText = "New Notification"; // ticker-text 
     long when = System.currentTimeMillis();   // notification time 
     Context context = getApplicationContext();  // application Context 
     CharSequence contentTitle = "My notification"; // expanded message title 
     CharSequence contentText = "Click me!";   // expanded message text 

     Intent notificationIntent = new Intent(this, AcNotificationTestMain.class); 
     PendingIntent contentIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0); 

     // the next two lines initialize the Notification, using the configurations above 
     Notification notification = new Notification(icon, tickerText, when); 
     notification.setLatestEventInfo(context, contentTitle, contentText, contentIntent); 


     mNotificationManager.notify(SEND_ID, notification); 
    } 
} 

和佈局文件:

<LinearLayout android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> 
<TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/hello"/> 
<Button android:id="@+id/button1" android:text="@string/AcNotificationTest_BtnSendNotificationText" android:layout_width="wrap_content" android:layout_height="wrap_content"/> 
</LinearLayout> 
+0

感謝您的信息 - 我還是不太明白怎麼我的通知發送到安裝了應用程序用戶?每當我們想要發送新通知時,我們是否需要發送應用的更新版本? – Dancer 2011-12-23 13:16:26

+0

你能解釋一下你想做什麼嗎? – Yury 2011-12-23 13:18:47

+0

也 - 我已經安裝了android sdk和模擬器。我只是不知道我在哪裏放置教程中提到的代碼。我是否創建一個新的java文件或全部進入清單?對不起,這可能都是非常基本的......一旦這個服務在應用程序中設置 - 我如何發送一條新消息?在此感謝您的幫助! – Dancer 2011-12-23 13:19:00

3

你想要的狀態欄通知?如果是的話......你很幸運......這是我爲手機創建的一個插件。看看如何在android中嵌入外部插件。

https://github.com/phonegap/phonegap-plugins/tree/master/Android/StatusBarNotification

+0

說明在頁面上給出。乾杯!! – 2011-12-26 15:11:34

+0

我也使用它..工作正常.. – ghostCoder 2011-12-27 09:31:38

+0

乾杯Ashwarya - 這看起來不錯 - 雖然我也需要一種方法來從外部服務器推送數據到這些通知 - 任何想法 - 爲您的幫助歡​​呼。保羅 – Dancer 2012-01-03 11:28:39