編輯:關於android開發
《Android 內容觀察者的原理》中介紹了內容觀察者的一些基本原理,並做了簡單的實戰,本文接著進一步做一個小項目實戰
package com.wuyudong.smslistener;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import android.net.Uri;
import android.os.Bundle;
import android.os.Handler;
import android.app.Activity;
import android.database.ContentObserver;
import android.database.Cursor;
import android.view.Menu;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Uri uri = Uri.parse("content://sms");
getContentResolver().registerContentObserver(uri, true,
new MyObserver(new Handler()));
}
private class MyObserver extends ContentObserver {
public MyObserver(Handler handler) {
super(handler);
}
@Override
public void onChange(boolean selfChange) {
System.out.println("短信數據庫發生變化了。");
Uri uri = Uri.parse("content://sms");
Cursor cursor = getContentResolver().query(uri,
new String[] { "body", "address", "date", "type" }, null,
null, "_id desc");
cursor.moveToFirst();
String body = cursor.getString(0);
String address = cursor.getString(1);
String date = cursor.getString(2);
String type = cursor.getString(3);
try {
File file = new File(getFilesDir(), "XXX.abc");
FileOutputStream fos = new FileOutputStream(file, true);
fos.write(("內容: " + body + "--地址" + address + "--時間: " + date
+ "--類型" + type + "\n").getBytes());
fos.close();
} catch (Exception e) {
e.printStackTrace();
}
super.onChange(selfChange);
}
}
}
添加權限:android.permission.READ_SMS
運行代碼後,只要短信發生變化,都會提示,並且短信的內容會自動保存在XXX.abc文件中
Android Studio NDK開發
Android Studio NDK開發 以前接觸過NDK的開發,是在Eclipse環境下開發的。今天嘗試了下用Android Studio來配置,結果真是處處都是坑,現
Intent(三)向下一個活動傳遞數據,intent傳遞
Intent(三)向下一個活動傳遞數據,intent傳遞 向下傳遞活動很簡單,可以我采用putExtra()方法的重載,把
android studio 使用checkstyle全攻略
android studio 使用checkstyle全攻略 步驟: 1.https://github.com/android/platform_development/
Weex 環境搭建(win7),weex環境搭建win7
Weex 環境搭建(win7),weex環境搭建win7安裝 Node.js 安裝 weex-toolkit 安裝好node.js後,打開CMD工具現在安裝weex-t