【发布时间】:2016-09-02 22:01:55
【问题描述】:
我已经按照教程所示完成了所有操作,但仍然出现一个错误...我创建了新活动 SmsReceiver.java 并且一切正常,但是当我尝试添加时在清单中
<receiver android:name=".SmsReceiver"> // <-- this is problem
<intent-filter android:priority="1000">
<action android:name="android.provider.Telephony.SMS_RECEIVED" />
</intent-filter>
</receiver>
它不想接受那个类 .SmsReceiver....
我已经尝试了一切,请帮助。当我将鼠标悬停在它上面时,它会显示“'class' or 'interface' expected”。
Here is package view and manifest full code
这是 SmsReceiver.java 代码
package com.dreamdev.matko.smsarduino;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.telephony.SmsMessage;
import android.widget.Toast;
public class SmsReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Bundle bundle = intent.getExtras();
if (bundle != null) {
Object[] pdus = (Object[]) bundle.get("pdu");
for (int i = 0; i < pdus.length; i++) {
SmsMessage sms = SmsMessage.createFromPdu((byte[]) pdus[i]);
String from = sms.getOriginatingAddress();
String msg = sms.getDisplayMessageBody();
Toast.makeText(context, "Prišla správa", Toast.LENGTH_LONG).show();
}
}
}
}
【问题讨论】:
-
提供完整清单。
-
尝试删除圆点
-
添加完全限定名称。确保类 SmsReceiver 与清单文件顶部声明的类位于同一包中。
-
请分享您的 Android 包视图和完整 Manifest.xml 的屏幕截图
-
我添加了包视图和 manifest.xml....删除点不起作用
标签: java android android-studio broadcastreceiver receiver