[英]Xamarin Forms android Receiving incoming text message using broadcast receiver
使用xamarin形式,我嘗試使用廣播接收器類閱讀傳入消息並顯示敬酒消息。
以下是我的manifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:installLocation="auto">
<uses-sdk android:minSdkVersion="22" android:targetSdkVersion="22" />
<uses-permission android:name="android.permission.CALL_PHONE" />
<uses-permission android:name="android.permission.SEND_SMS" />
<uses-permission android:name="android.permission.RECEIVE_SMS" />
<uses-permission android:name="android.permission.READ_SMS" />
<uses-permission android:name="android.permission.WRITE_SMS" />
<application android:label="DemoApp" android:debuggable="true">
</application>
</manifest>
接收器類別
[BroadcastReceiver(Enabled = true, Exported = true,Label = "SMS Receiver")]
[IntentFilter(new string[] { "android.provider.Telephony.SMS_RECEIVED"}, Priority = Int32.MaxValue)]
public class SmsReceiver : Android.Content.BroadcastReceiver
{
public static readonly string INTENT_ACTION = "android.provider.Telephony.SMS_RECEIVED";
public SmsReceiver()
{
}
public override void OnReceive(Context context, Intent intent)
{
if (intent.Action == INTENT_ACTION)
{
if (ContextCompat.CheckSelfPermission(context,
"android.permission.READ_SMS") != Permission.Denied)
{
Bundle bundle = intent.Extras;
if (bundle != null)
{
Java.Lang.Object[] pdus = (Java.Lang.Object[])bundle.Get("pdus");
if (pdus.Length == 0)
{
return;
}
SmsMessage[] msgs;
msgs = new SmsMessage[pdus.Length];
for (int i = 0; i < msgs.Length; i++)
{
msgs[i] = SmsMessage.CreateFromPdu((byte[])pdus[i], "3gpp");
Log.Info("SmsReceiver", "SMS Received from: " + msgs[i].OriginatingAddress);
Log.Info("SmsReceiver", "SMS Data: " + msgs[i].MessageBody.ToString());
}
Toast.MakeText(context.ApplicationContext, "SUCCESS",
ToastLength.Long).Show();
Log.Info("SmsReceiver", "SMS Received");
}
}
}
}
}
但是以上代碼既未在log cat中顯示信息日志消息,也未在toast文本中顯示。 有人可以幫幫我嗎
要在Xamarin表單應用程序中顯示敬酒,您需要一個插件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.