0
如果我将我的应用程序设置为默认消息应用程序,则所有传入的消息都不会显示在其他消息应用程序上。这是我的SmsReceiver和清单。为什么在将我的应用程序设置为默认消息应用程序之后,其他消息应用程序中不显示短信?
@Override
public void onReceive(Context context, Intent intent) {
Object[] smsExtra = (Object[]) intent.getExtras().get("pdus");
String body = "";
for (int i = 0; i < smsExtra.length; ++i) {
SmsMessage sms = SmsMessage.createFromPdu((byte[]) smsExtra[i]);
body += sms.getMessageBody();
}
Notification notification = new Notification.Builder(context)
.setContentText(body)
.setContentTitle("New Message")
.setSmallIcon(R.drawable.ic_alert)
.setStyle(new Notification.BigTextStyle().bigText(body))
.build();
NotificationManagerCompat notificationManagerCompat = NotificationManagerCompat.from(context);
notificationManagerCompat.notify(1, notification);
}
<receiver
android:name=".SmsReceiver"
android:permission="android.permission.BROADCAST_SMS"
android:enabled="false"
android:exported="true" >
<intent-filter android:priority="0" >
<action android:name="android.provider.Telephony.SMS_DELIVER" />
</intent-filter>
</receiver>
消息仅显示为通知,然后未在其他消息应用程序中列出。其实,我只是想将我的应用程序设置为默认只发送彩信,所以我不想通过我的应用程序处理传入的消息。
谢谢。
'这是我的SmsReceiver和明显file.'哪里清单你说的吗?编辑你的问题。 – Xenolion
我刚发布的woops。 –
默认应用程序负责将所有传入短信写入提供者。它也负责所有传入的彩信。如果您的应用程序是默认应用程序,它必须是一个完整的消息应用程序。 –