Intent的主要功能是完成一個Activity跳轉到其餘Activity或者是Service的操做,表示的是一種java
操做的意圖。android
PendingIntent表示的是暫時執行的一種意圖,是一種在產生某一事件以後才進行操做的Intent對象。面試
面試題:請解釋Intent與PendingIntent的區別:app
Intent表示當即執行;ide
PendingIntent表示暫緩執行,遇到特殊條件才執行。this
Notification表示一種提示用戶操做的組件。xml
Notification表示的是一個通知,而NotificationManager表示的是一個發送通知的操做類。對象
在main.xml中:事件
<LinearLayoutget
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center_horizontal"
android:background="#000000">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:textColor="#ffffff"
android:text="請看上面的通知!"/>
</LinearLayout>
在MyNotificationDemo.java中:
package com.li.notification;
import android.os.Bundle;
import android.app.Activity;
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.view.Menu;
import android.view.MenuItem;
import android.support.v4.app.NavUtils;
public class MyNotificationDemo extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
super.setContentView(R.layout.main);
NotificationManager notificationManager =
(NotificationManager)super.getSystemService(Activity
.NOTIFICATION_SERVICE);
Notification notification = new Notification(R.drawable.pic_m,"來自李葉文的消息",
System.currentTimeMillis()); //馬上發送一個消息
PendingIntent contentIntent = PendingIntent.getActivity(
this, 0, super.getIntent(), PendingIntent
.FLAG_CANCEL_CURRENT); //建立了一個PendingIntent對象
notification.setLatestEventInfo(this, "廣西", "北海", contentIntent);
notificationManager.notify("LYW",R.drawable.pic_m,notification);
}
}