Android短信监听(三)——利用Loader实现短信监听
2014-05-15 20:46
316 查看
MainActivity如下:
main.xml如下:
AndroidManifest.xml如下:
package cc.c; import android.net.Uri; import android.os.Bundle; import android.app.Activity; import android.app.LoaderManager.LoaderCallbacks; import android.content.Context; import android.content.Loader; import android.database.Cursor; /** * Demo描述: * 利用Loader实现窃听短信 * * 参考资料: * 1 http://blog.csdn.net/niu_gao/article/details/7244117 * 2 http://www.cnblogs.com/jisheng/archive/2013/01/09/2852553.html * 3 http://blog.csdn.net/linmiansheng/article/details/25836937 * Thank you very much * * 注意事项: * 1 Loader是3.0之后才引进来的 * 2 若在3.0之前使用Loader那么Activity须继承FragmentActivity * 3 在Loader内部封装好了ContentOberver * */ public class MainActivity extends Activity implements LoaderCallbacks<Cursor>{ private final int LOADER_ID=9527; private Context mContext; private Uri mUri=null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); init(); } private void init(){ mContext=this; mUri = Uri.parse("content://sms/inbox"); this.getLoaderManager().initLoader(LOADER_ID, null, this); } @Override public Loader<Cursor> onCreateLoader(int arg0, Bundle bundle) { String[] projection = new String[] {"_id","address","body","type"}; Loader<Cursor> cursorLoader= new android.content.CursorLoader(mContext, mUri, projection, null, null, "date desc"); return cursorLoader; } @Override public void onLoadFinished(Loader<Cursor> loader, Cursor cursor) { while (cursor.moveToNext()) { String address = cursor.getString(cursor.getColumnIndex("address")); String body = cursor.getString(cursor.getColumnIndex("body")); int id = cursor.getInt(cursor.getColumnIndex("_id")); String type = cursor.getString(cursor.getColumnIndex("type")); System.out.println("------> 收到新的短信:"+"来自="+address+",内容="+body+",id="+id+",类别="+type); break; } } @Override public void onLoaderReset(Loader<Cursor> loader) { } }
main.xml如下:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="利用Loader实现窃听短信" android:layout_centerInParent="true" /> </RelativeLayout>
AndroidManifest.xml如下:
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="cc.c" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="14" android:targetSdkVersion="14" /> <uses-permission android:name="android.permission.READ_SMS" /> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name="cc.c.MainActivity" 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>
相关文章推荐
- Android短信监听(三)——利用Loader实现短信监听
- Android利用BroadcastReceiver实现短信监听
- Android利用BroadcastReceiver实现短信监听
- Android短信监听(二)——利用ContentObserver实现短信监听
- Android短信监听(一)——利用BroadcastReceiver实现短信监听
- Android短信监听(二)——利用ContentObserver实现短信监听
- Android短信监听(二)——利用ContentObserver实现短信监听
- Android短信监听(一)——利用BroadcastReceiver实现短信监听
- android基础笔记——广播接收者,实现短信监听
- Android应用开发之利用服务实现电话监听
- Android实现短信监听并且转发到指定的手机号,转发后不留痕
- Android短信的发送和广播接收者实现短信的监听
- Android中读取短信信息,短信监听的各种问题,实现监听短信的功能
- Android短信的发送和广播接收者实现短信的监听
- Android开发之短信监听实现
- Android实现短信监听并且转发到指定的手机号,转发后不留痕
- Android之service---利用服务实现电话监听
- Android之电话监听(利用服务实现)
- Android实现短信监听并且转发到指定的手机号,转发后不留痕
- android吹一吹功能的实现,利用麦克风去监听频率的变化。