中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

android狀態欄顯示短信怎么實現

小億
91
2023-08-11 21:32:45
欄目: 編程語言

要在Android的狀態欄中顯示短信,你需要創建一個BroadcastReceiver來接收短信,并在接收到短信時將其顯示在狀態欄上。

下面是一個簡單的示例代碼:

  1. 創建一個BroadcastReceiver類,例如SmsReceiver.java:
public class SmsReceiver extends BroadcastReceiver {
private static final String TAG = "SmsReceiver";
private static final int NOTIFICATION_ID = 1;
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals(Telephony.Sms.Intents.SMS_RECEIVED_ACTION)) {
Bundle bundle = intent.getExtras();
if (bundle != null) {
Object[] pdus = (Object[]) bundle.get("pdus");
if (pdus != null && pdus.length > 0) {
SmsMessage sms = SmsMessage.createFromPdu((byte[]) pdus[0]);
String sender = sms.getDisplayOriginatingAddress();
String message = sms.getDisplayMessageBody();
showNotification(context, sender, message);
}
}
}
}
private void showNotification(Context context, String sender, String message) {
NotificationCompat.Builder builder = new NotificationCompat.Builder(context, "channel_id")
.setSmallIcon(R.drawable.ic_notification)
.setContentTitle(sender)
.setContentText(message)
.setPriority(NotificationCompat.PRIORITY_DEFAULT)
.setAutoCancel(true);
NotificationManagerCompat notificationManager = NotificationManagerCompat.from(context);
notificationManager.notify(NOTIFICATION_ID, builder.build());
}
}
  1. 在AndroidManifest.xml文件中聲明權限和接收短信的BroadcastReceiver:
<uses-permission android:name="android.permission.RECEIVE_SMS" />
<application>
<receiver android:name=".SmsReceiver">
<intent-filter>
<action android:name="android.provider.Telephony.SMS_RECEIVED" />
</intent-filter>
</receiver>
</application>

請注意,代碼中使用了NotificationCompat.Builder和NotificationManagerCompat來構建和顯示通知。還需要在AndroidManifest.xml文件中聲明相關的通知渠道(channel)。

這樣,當你的應用接收到新的短信時,它會顯示在狀態欄上作為通知。

0
大足县| 沅江市| 高唐县| 缙云县| 南雄市| 苏尼特右旗| 绍兴市| 峨边| 威远县| 浏阳市| 房产| 米易县| 泊头市| 新津县| 堆龙德庆县| 长沙县| 石嘴山市| 赤壁市| 广南县| 上饶县| 巩留县| 道真| 东乌珠穆沁旗| 曲松县| 昌图县| 合水县| 柘城县| 荃湾区| 嘉禾县| 外汇| 苍梧县| 静乐县| 石门县| 浪卡子县| 响水县| 平安县| 金湖县| 商水县| 罗江县| 武威市| 石嘴山市|