福州光电网站建设,河北手机网站制作价格,泉州seo建站,如何查看网站是否降权Android 通知栏推送功能
Android 通知栏推送功能 让消息在用户的通知栏上显示#xff0c;并且点击后跳转到指定的页面
MainActivity.Java import android.app.Notification;
import android.app.NotificationChannel;
import android.app.NotificationManager;
import andro…Android 通知栏推送功能
Android 通知栏推送功能 让消息在用户的通知栏上显示并且点击后跳转到指定的页面
MainActivity.Java import android.app.Notification;
import android.app.NotificationChannel;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Color;
import android.os.Build;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;import androidx.appcompat.app.AppCompatActivity;public class MainActivity extends AppCompatActivity {private static final String CHANNEL_ID my_channel_id;private static final String CHANNEL_NAME My Channel;private static final String CHANNEL_DESCRIPTION This is my notification channel;Bitmap bitmap null;Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);Button buttonSendNotification findViewById(R.id.btn_show_normal);buttonSendNotification.setOnClickListener(new View.OnClickListener() {Overridepublic void onClick(View v) {int id v.getId();if (id R.id.btn_show_normal) {sendNotification();}}});}private void sendNotification() {bitmap BitmapFactory.decodeResource(this.getResources(), R.drawable.dzq);Intent intent new Intent(this, SecondActivity.class);PendingIntent pendingIntent PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);NotificationManager notificationManager (NotificationManager) getSystemService(NOTIFICATION_SERVICE);if (Build.VERSION.SDK_INT Build.VERSION_CODES.O) {NotificationChannel notificationChannel new NotificationChannel(CHANNEL_ID, CHANNEL_NAME, NotificationManager.IMPORTANCE_DEFAULT);notificationChannel.setDescription(CHANNEL_DESCRIPTION);notificationManager.createNotificationChannel(notificationChannel);}Notification notification null;if (android.os.Build.VERSION.SDK_INT android.os.Build.VERSION_CODES.O) {notification new Notification.Builder(this, CHANNEL_ID).setContentTitle(My Notification).setContentText(This is the body of my notification).setSmallIcon(R.drawable.ic_launcher_foreground).setLargeIcon(bitmap).setContentIntent(pendingIntent).setAutoCancel(true).build();}notificationManager.notify(0, notification);}
}activity_main.xml
LinearLayout xmlns:androidhttp://schemas.android.com/apk/res/androidxmlns:toolshttp://schemas.android.com/toolsandroid:layout_widthmatch_parentandroid:layout_heightmatch_parentandroid:orientationverticaltools:context.MainActivityButtonandroid:idid/btn_show_normalandroid:layout_widthwrap_contentandroid:layout_heightwrap_contentandroid:text显示普通的Notification //LinearLayout
SecondActivity.Java
import android.os.Bundle;import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;import android.os.Bundle;/*** Created by Jay on 2015/9/28 0028.*/
public class SecondActivity extends AppCompatActivity {Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_second);}
}activity_second.xml
?xml version1.0 encodingutf-8?
RelativeLayout xmlns:androidhttp://schemas.android.com/apk/res/androidxmlns:toolshttp://schemas.android.com/toolsandroid:layout_widthmatch_parentandroid:layout_heightmatch_parenttools:context.SecondActivityTextViewandroid:layout_widthwrap_contentandroid:layout_heightwrap_contentandroid:text阿三大苏打实打实android:layout_centerInParenttrue//RelativeLayout
AndoirdManifest.xml
?xml version1.0 encodingutf-8?
manifest xmlns:androidhttp://schemas.android.com/apk/res/androidpackagecom.xxh.mynotification uses-permission android:nameandroid.permission.FLASHLIGHT /uses-permission android:nameandroid.permission.POST_NOTIFICATIONS /uses-permission android:nameandroid.permission.VIBRATE /applicationandroid:allowBackuptrueandroid:iconmipmap/ic_lol_iconandroid:labelstring/app_nameandroid:themestyle/AppTheme activityandroid:name.MainActivityandroid:labelstring/app_nameandroid:exportedtrueintent-filteraction android:nameandroid.intent.action.MAIN /category android:nameandroid.intent.category.LAUNCHER //intent-filter/activityactivity android:name.SecondActivity//application/manifest
R.drawable.ic_launcher_foreground.xml
vector xmlns:androidhttp://schemas.android.com/apk/res/androidandroid:width108dpandroid:height108dpandroid:viewportWidth24android:viewportHeight24android:tint#000000group android:scaleX0.6264android:scaleY0.6264android:translateX4.4832android:translateY4.4832pathandroid:fillColorandroid:color/whiteandroid:pathDataM7,15H5.5v-4.5H4V9h3V15zM13.5,13.5h-3v-1h2c0.55,0 1,-0.45 1,-1V10c0,-0.55 -0.45,-1 -1,-1H9v1.5h3v1h-2c-0.55,0 -1,0.45 -1,1V15h4.5V13.5zM19.5,14v-4c0,-0.55 -0.45,-1 -1,-1H15v1.5h3v1h-2v1h2v1h-3V15h3.5C19.05,15 19.5,14.55 19.5,14z//group
/vector