2013-05-16 72 views
2

如何在Android的通知栏中显示简单通知?请帮助我使用最简单的解决方案。如何在android中显示简单通知?

+1

你谷歌“机器人通知”?第一个结果似乎是adroid开发者“如何创建通知”的指南。这是我们可以期待的大量研究 – LionC

+0

是的,我做过。但他们都似乎有点混乱。我想要的只是一个简单的方法。 – Andromise

+2

[Notification](http://developer.android.com/reference/android/app/Notification.html)或[Toasts](http://developer.android.com/guide/topics/ui/notifiers/toasts。 html)? – Bishan

回答

6

我假设你是问有关通知,notificationbar.If其如此,试试这个代码,

private void showNotification(String eventtext, Context ctx) { 



    // Set the icon, scrolling text and timestamp 
    Notification notification = new Notification(R.drawable.noti_icon, 
      text, System.currentTimeMillis()); 

    // The PendingIntent to launch our activity if the user selects this 
    // notification 
    PendingIntent contentIntent = PendingIntent.getActivity(ctx, 0, 
      new Intent(ctx, MainActivity.class), 0); 

    // Set the info for the views that show in the notification panel. 
    notification.setLatestEventInfo(ctx, "Title", eventtext, 
      contentIntent); 

    // Send the notification. 
    mNM.notify("Title", 0, notification); 
} 
+0

是mNM吗?我的通知? –

+0

@WHK:它的通知管理器 –

8

这很容易。

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:background="#A9BCF5" 
    android:orientation="vertical" > 

    <Button 
     android:id="@+id/button1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_marginTop="10dp" 
     android:layout_gravity="center_horizontal" 
     android:text="Create Notification" > 
    <Button> 

<LinearLayout> 


public class MainActivity extends Activity { 

    Button btn; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     btn = (Button)findViewById(R.id.button1); 
     btn.setOnClickListener(new View.OnClickListener() { 

      @Override 
      public void onClick(View v) { 

       //We get a reference to the NotificationManager 
       NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); 

       String MyText = "Reminder"; 
       Notification mNotification = new Notification(R.drawable.notification_icon, MyText, System.currentTimeMillis()); 
       //The three parameters are: 1. an icon, 2. a title, 3. time when the notification appears 

       String MyNotificationTitle = "Medicine!"; 
       String MyNotificationText = "Don't forget to take your medicine!"; 

       Intent MyIntent = new Intent(Intent.ACTION_VIEW); 
       PendingIntent StartIntent = PendingIntent.getActivity(getApplicationContext(),0,MyIntent, PendingIntent.FLAG_CANCEL_CURRENT); 
       //A PendingIntent will be fired when the notification is clicked. The FLAG_CANCEL_CURRENT flag cancels the pendingintent 

       mNotification.setLatestEventInfo(getApplicationContext(), MyNotificationTitle, MyNotificationText, StartIntent); 

       int NOTIFICATION_ID = 1; 
       notificationManager.notify(NOTIFICATION_ID , mNotification); 
       //We are passing the notification to the NotificationManager with a unique id. 
      } 
     }); 
    } 

} 

您可以将声音或振动添加到通知,以及:在这个例子中单击该按钮时,通知被触发。欲了解更多信息,你可以看到this教程。

+0

尽管上面提到的通知构造函数已被弃用......仍然是+1 ... Notification.Builder()是创建通知的新方法。 –

+0

谢谢@JohnnyWu – erdomester