package com.java.wjd.android;import android.app.Activity;
import android.content.ContentValues;
import android.database.ContentObserver;
import android.database.Cursor;
import android.net.Uri;
import android.os.Bundle;
import android.os.Handler;public class ScreenTest extends Activity {
class SmsContent extends ContentObserver{
private Cursor cursor = null;
public SmsContent(Handler handler) {
super(handler);
}
/**
* @Description 当短信表发送改变时,调用该方法
* 需要两种权限
* Android.permission.READ_SMS读取短信
* android.permission.WRITE_SMS写短信
* @Author Snake
* @Date 2010-1-12
*/
@Override
public void onChange(boolean selfChange) {
// TODO Auto-generated method stub
super.onChange(selfChange);
//读取收件箱中指定号码的短信
cursor = managedQuery(Uri.parse("content://sms/inbox"), new String[]{"_id", "address", "read"}, " address=? and read=?", new String[]{"15555215556", "0"}, "date desc");
if (cursor != null){
ContentValues values = new ContentValues();
values.put("read", "1"); //修改短信为已读模式
cursor.moveToFirst();
while (cursor.isLast()){
//更新当前未读短信状态为已读
getContentResolver().update(Uri.parse("content://sms/inbox"), values, " _id=?", new String[]{""+cursor.getInt(0)});
cursor.moveToNext();
}
}
}
}
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
SmsContent content = new SmsContent(new Handler());
//注册短信变化监听
this.getContentResolver().registerContentObserver(Uri.parse("content://sms/"), true, content);
}
}
10-08 02:49:23.531: WARN/BackupManagerService(52): dataChanged but no participant pkg='com.android.providers.settings' uid=10017
10-08 03:23:56.582: ERROR/AndroidRuntime(326): Uncaught handler: thread main exiting due to uncaught exception
10-08 03:23:56.662: ERROR/AndroidRuntime(326): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.java.wjd.android/com.java.wjd.android.ScreenTestActivity}: java.lang.ClassNotFoundException: com.java.wjd.android.ScreenTestActivity in loader dalvik.system.PathClassLoader@44c068d8
10-08 03:23:56.662: ERROR/AndroidRuntime(326): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2417)
10-08 03:23:56.662: ERROR/AndroidRuntime(326): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2512)
10-08 03:23:56.662: ERROR/AndroidRuntime(326): at android.app.ActivityThread.access$2200(ActivityThread.java:119)
10-08 03:23:56.662: ERROR/AndroidRuntime(326): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1863)
10-08 03:23:56.662: ERROR/AndroidRuntime(326): at android.os.Handler.dispatchMessage(Handler.java:99)
10-08 03:23:56.662: ERROR/AndroidRuntime(326): at android.os.Looper.loop(Looper.java:123)
10-08 03:23:56.662: ERROR/AndroidRuntime(326): at android.app.ActivityThread.main(ActivityThread.java:4363)
10-08 03:23:56.662: ERROR/AndroidRuntime(326): at java.lang.reflect.Method.invokeNative(Native Method)
10-08 03:23:56.662: ERROR/AndroidRuntime(326): at java.lang.reflect.Method.invoke(Method.java:521)
10-08 03:23:56.662: ERROR/AndroidRuntime(326): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)
10-08 03:23:56.662: ERROR/AndroidRuntime(326): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
10-08 03:23:56.662: ERROR/AndroidRuntime(326): at dalvik.system.NativeStart.main(Native Method)
10-08 03:23:56.662: ERROR/AndroidRuntime(326): Caused by: java.lang.ClassNotFoundException: com.java.wjd.android.ScreenTestActivity in loader dalvik.system.PathClassLoader@44c068d8
10-08 03:23:56.662: ERROR/AndroidRuntime(326): at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:243)
10-08 03:23:56.662: ERROR/AndroidRuntime(326): at java.lang.ClassLoader.loadClass(ClassLoader.java:573)
10-08 03:23:56.662: ERROR/AndroidRuntime(326): at java.lang.ClassLoader.loadClass(ClassLoader.java:532)
10-08 03:23:56.662: ERROR/AndroidRuntime(326): at android.app.Instrumentation.newActivity(Instrumentation.java:1021)
10-08 03:23:56.662: ERROR/AndroidRuntime(326): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2409)
10-08 03:23:56.662: ERROR/AndroidRuntime(326): ... 11 more
请问这段代码有什么问题啊
androidManifest.xml文件权限已经设置好了
解决方案 »
- 程序正常运行,但也LogCat也输出异常
- android:targetSdkVersion 和android:hardwareAccelerated引发的惨案
- Java如何往ZIP文件添加或覆盖文件?
- java 下载mp3
- SQLite数据库修改出毛病了。。。
- 上下两个显示控件,一个webview,一个textview,如何按全界面比例固定这两个控件大小
- 新手请教:在android系统启动时,如何才能直接进入自己的应用程序,而跳过android的桌面?
- Android Camera类旋转的问题
- spinner相关的问题
- 求助android studio 环境搭建 及 新建项目 报错问题
- 安卓 sqlite中能建两张表吗》?
- 请教:Android客户端播放RTSP流的问题
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.java.wjd.android"
android:versionCode="1"
android:versionName="1.0">
<uses-sdk android:minSdkVersion="7" />
<uses-permission android:name="android.permission.SEND_SMS"/>
<uses-permission android:name="android.permission.READ_SMS"/>
<uses-permission android:name="android.permission.WRITE_SMS"/>
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".ScreenTestActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity> </application>
</manifest>
这是我的AndroidManifest.xml
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>android:name=".ScreenTest"