我正在开发一个接收 SMS 消息并在应用程序中使用此数据的 android 应用程序。因为我希望在关闭应用程序时关闭 SMS 消息的 BroadCastreceiver,所以我将它放在主要活动中:
public class App extends Activity {
public class SmsReceiver extends BroadcastReceiver {
...
}
...
}
它被添加到清单中:
<receiver android:name=".App.SmsReceiver" >
<intent-filter>
<action android:name="android.provider.Telephony.SMS_RECEIVED" />
</intent-filter>
</receiver>
该活动运行良好,直到我收到一条短信。然后我收到以下错误:
10-23 15:01:50.019: E/AndroidRuntime(10161): java.lang.RuntimeException: Unable to instantiate receiver be.allys.msgwall.app.App.SmsReceiver: java.lang.ClassNotFoundException: be.allys.msgwall.app.App.SmsReceiver in loader dalvik.system.PathClassLoader[/data/app/be.allys.msgwall.app-1.apk]
这是因为接收器类在另一个类中吗?如果不是因为 StackOverflow 上的另一篇文章建议我这样做的话,这对我来说似乎是一个可能的原因。
如果这不是原因,那是什么?任何帮助将不胜感激。