android使用通知(notification)
阿新 • • 發佈:2018-11-17
通知可以在活動中建立也可以廣播中建立,也可以在服務中建立。
其實通知只有一般是在我們的應用在後臺的時候才能使用到,所以,一般不再活動中建立。
但不困在哪裡建立大體的步驟都是差不多的。
具體的思路是:
第一我們要有一個通知的管理者,即我們的NotificationManager
第二,我們要有一個通知的物件,即Notification
然後把它們二者聯絡起來就可以了。
具體的例子:
package com.example.sunshunli.notificationtest; import android.app.PendingIntent; import android.content.Intent; import android.graphics.BitmapFactory; import android.support.v4.app.NotificationCompat; import android.app.Notification; import android.app.NotificationManager; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; public class MainActivity extends AppCompatActivity implements View.OnClickListener{ @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button sendNotice = findViewById(R.id.send_notice); sendNotice.setOnClickListener(this); } @Override public void onClick(View v) { switch (v.getId()){ case R.id.send_notice: Intent intent = new Intent(this,NotificationActivity.class); PendingIntent pendingIntent = PendingIntent.getActivity(this,0,intent,0); NotificationManager notificationManager = (NotificationManager)getSystemService(NOTIFICATION_SERVICE); Notification notification = new NotificationCompat.Builder(this) .setContentTitle("This is content title") .setContentText("this is content text") .setWhen(System.currentTimeMillis()) .setSmallIcon(R.mipmap.ic_launcher) .setContentIntent(pendingIntent) .setAutoCancel(true) .setLargeIcon(BitmapFactory.decodeResource(getResources(),R.mipmap.ic_launcher)).build(); notificationManager.notify(1,notification); break; default: break; } } }
package com.example.sunshunli.notificationtest; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; public class NotificationActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.notification_layout); } }