Android NotificationCompat通知訊息

來源:互聯網
上載者:User

標籤:

import android.os.Bundle;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.graphics.Bitmap;import android.graphics.BitmapFactory;import android.support.v4.app.NotificationCompat;import android.view.View;public class MainActivity extends Activity {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);    }    public void click(View v){        NotificationCompat.Builder builder =                 new NotificationCompat.Builder(this);        //設定標題        builder.setContentTitle("通知標題");                builder.setContentText("這是內容。。。。。。。。。。。。。。");        //表徵圖        builder.setSmallIcon(R.drawable.ic_launcher);        //就是通知開啟前在,頁面可以看見的提示文字        builder.setTicker("一閃,搜尋");                        /**         * 設定notification的樣式         */                //大文本類型的通知        NotificationCompat.BigTextStyle big = new NotificationCompat.BigTextStyle();        big.setBigContentTitle("大的標題").bigText("大的內容");        //設定builder的樣式        //builder.setStyle(big);                //大圖片的類型        NotificationCompat.BigPictureStyle bigimg = new NotificationCompat.BigPictureStyle();                Bitmap b = BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher);                bigimg.bigLargeIcon(b);        //設定樣式        //builder.setStyle(bigimg);        /**         * 可以顯示更多文字         */        NotificationCompat.InboxStyle inboxStyle = new NotificationCompat.InboxStyle();        inboxStyle.addLine("一行文本");        inboxStyle.addLine("2行文本");        inboxStyle.addLine("3行文本");        inboxStyle.addLine("4行文本");        inboxStyle.addLine("5行文本");        builder.setStyle(inboxStyle);                /**         * 設定跳轉,預跳轉。可點可不點         *          */        Intent intent = new Intent(this,MainActivity.class);        /**         *          * pendingIntent:封裝了Intent的預意圖,表示         * 動作還沒有發生,但是會一直保留著這個動作         * context 上下文         * requestCode:請求碼          * intent :跳轉意圖         * Flag:標記         */        PendingIntent pendingIntent =                 PendingIntent.getActivity(this, 200, intent, PendingIntent.FLAG_ONE_SHOT);                //PendingIntent.FLAG_NO_CREATE;一般用一個        builder.setContentIntent(pendingIntent);                        //服務來調用        /**         * get 是系統的服務         * 傳遞Context.NOTIFICATION_SERVICE 可以擷取一個管理Notification 的管理器          *          */        NotificationManager manager =                 (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);        /**         * builder構造器,可以建造喲個Notification對象         *          */        Notification build = builder.build();                /**         * 這個方法可以發出一個通知         * id 唯一標識的id號         *          * notification 是需要發出通知的對象,(誰需要這個通知)         */        manager.notify(1, build);    }}


Android NotificationCompat通知訊息

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.