- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想阅读传入的短信..我创建了这个类来做到这一点:
public class smsRec extends BroadcastReceiver {
private static final String LOG_TAG = "SMSApp";
/* package */ static final String ACTION =
"android.provider.Telephony.SMS_RECEIVED";
// @Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals(ACTION)) {
// if(message starts with SMStretcher recognize BYTE)
StringBuilder sb = new StringBuilder();
/* The SMS-Messages are 'hiding' within the extras of the Intent. */
Bundle bundle = intent.getExtras();
if (bundle != null) {
/* Get all messages contained in the Intent*/
android.telephony.SmsMessage[] messages =
Telephony.Sms.Intents.getMessagesFromIntent(intent);
/* Feed the StringBuilder with all Messages found. */
for (android.telephony.SmsMessage currentMessage : messages){
sb.append("Received compressed SMSnFrom: ");
/* Sender-Number */
sb.append(currentMessage.getDisplayOriginatingAddress());
sb.append("n----Message----n");
/* Actual Message-Content */
sb.append(currentMessage.getDisplayMessageBody());
}
}
/* Logger Debug-Output */
Log.i(LOG_TAG, "[SMSApp] onReceiveIntent: " + sb);
/* Show the Notification containing the Message. */
Toast.makeText(context, sb.toString(), Toast.LENGTH_LONG).show();
}
}
private void appendData(StringBuilder buf, String key, String value) {
buf.append(", ");
buf.append(key);
buf.append('=');
buf.append(value);
}
}
并在 list 中:
<receiver android:name=".SMSReceiver">
<intent-filter>
<action android:name="android.provider.Telephony.SMS_RECEIVED" />
</intent-filter>
</receiver>
和:<uses-permission android:name="android.permission.RECEIVE_SMS" />
但是我收到一个错误,logcat 是:
03-18 01:00:47.212: E/AndroidRuntime(13808): FATAL EXCEPTION: main
03-18 01:00:47.212: E/AndroidRuntime(13808): Process: com.dd.speech, PID: 13808
03-18 01:00:47.212: E/AndroidRuntime(13808): java.lang.RuntimeException: Unable to instantiate receiver com.dd.speech.SMSReceiver: java.lang.ClassNotFoundException: Didn't find class "com.dd.speech.SMSReceiver" on path: DexPathList[[zip file "/data/app/com.dd.speech-2.apk"],nativeLibraryDirectories=[/data/app-lib/com.dd.speech-2, /vendor/lib, /system/lib]]
03-18 01:00:47.212: E/AndroidRuntime(13808): at android.app.ActivityThread.handleReceiver(ActivityThread.java:2420)
03-18 01:00:47.212: E/AndroidRuntime(13808): at android.app.ActivityThread.access$1700(ActivityThread.java:145)
03-18 01:00:47.212: E/AndroidRuntime(13808): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1282)
03-18 01:00:47.212: E/AndroidRuntime(13808): at android.os.Handler.dispatchMessage(Handler.java:102)
03-18 01:00:47.212: E/AndroidRuntime(13808): at android.os.Looper.loop(Looper.java:136)
03-18 01:00:47.212: E/AndroidRuntime(13808): at android.app.ActivityThread.main(ActivityThread.java:5081)
03-18 01:00:47.212: E/AndroidRuntime(13808): at java.lang.reflect.Method.invoke(Native Method)
03-18 01:00:47.212: E/AndroidRuntime(13808): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:791)
03-18 01:00:47.212: E/AndroidRuntime(13808): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:607)
03-18 01:00:47.212: E/AndroidRuntime(13808): Caused by: java.lang.ClassNotFoundException: Didn't find class "com.dd.speech.SMSReceiver" on path: DexPathList[[zip file "/data/app/com.dd.speech-2.apk"],nativeLibraryDirectories=[/data/app-lib/com.dd.speech-2, /vendor/lib, /system/lib]]
03-18 01:00:47.212: E/AndroidRuntime(13808): at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
03-18 01:00:47.212: E/AndroidRuntime(13808): at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
03-18 01:00:47.212: E/AndroidRuntime(13808): at java.lang.ClassLoader.loadClass(ClassLoader.java:469)
03-18 01:00:47.212: E/AndroidRuntime(13808): at android.app.ActivityThread.handleReceiver(ActivityThread.java:2415)
03-18 01:00:47.212: E/AndroidRuntime(13808): ... 8 more
03-18 01:00:47.212: E/AndroidRuntime(13808): Suppressed: java.lang.ClassNotFoundException: com.dd.speech.SMSReceiver
03-18 01:00:47.212: E/AndroidRuntime(13808): at java.lang.Class.classForName(Native Method)
03-18 01:00:47.212: E/AndroidRuntime(13808): at java.lang.BootClassLoader.findClass(ClassLoader.java:781)
03-18 01:00:47.212: E/AndroidRuntime(13808): at java.lang.BootClassLoader.loadClass(ClassLoader.java:841)
03-18 01:00:47.212: E/AndroidRuntime(13808): at java.lang.ClassLoader.loadClass(ClassLoader.java:504)
03-18 01:00:47.212: E/AndroidRuntime(13808): ... 10 more
03-18 01:00:47.212: E/AndroidRuntime(13808): Caused by: java.lang.NoClassDefFoundError: Class "Lcom/dd/speech/SMSReceiver;" not found
03-18 01:00:47.212: E/AndroidRuntime(13808): ... 14 more
我找不到问题
最佳答案
java 中的类名和 list 必须匹配。现在一个叫SMSReceiver,另一个叫smsRec
关于java - Android 接收短信不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22467875/
今天有小伙伴给我留言问到,try{...}catch(){...}是什么意思?它用来干什么? 简单的说 他们是用来捕获异常的 下面我们通过一个例子来详细讲解下
我正在努力提高网站的可访问性,但我不知道如何在页脚中标记社交媒体链接列表。这些链接指向我在 facecook、twitter 等上的帐户。我不想用 role="navigation" 标记这些链接,因
说现在是 6 点,我有一个 Timer 并在 10 点安排了一个 TimerTask。之后,System DateTime 被其他服务(例如 ntp)调整为 9 点钟。我仍然希望我的 TimerTas
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
我就废话不多说了,大家还是直接看代码吧~ ? 1
Maven系列1 1.什么是Maven? Maven是一个项目管理工具,它包含了一个对象模型。一组标准集合,一个依赖管理系统。和用来运行定义在生命周期阶段中插件目标和逻辑。 核心功能 Mav
我是一名优秀的程序员,十分优秀!