chứng của khái niệm
danh sách cuộc gọi SMS
Intent intent = new Intent("android.intent.action.MAIN");
intent.setComponent(
new ComponentName("com.android.mms","com.android.mms.ui.ConversationList"));
startActivity(intent);
ĐỌC SMS
cursor c= getContentResolver().query(uri, null, null ,null,null);
startManagingCursor(c);
c.moveToFirst();
String body = c.getString(c.getColumnIndexOrThrow("body")).toString();
String number = c.getString(c.getColumnIndexOrThrow("address")).toString();
c.close();
Toast.makeText(getApplicationContext(), number, Toast.LENGTH_LONG).show();
Viết SMS
ContentValues values = new ContentValues();
values.put("address", "SENDER");
values.put("body", "foo bar");
getContentResolver().insert(Uri.parse("content://sms/inbox"), values);
MANIFEST
<uses-permission android:name="android.permission.WRITE_SMS"/>
<uses-permission android:name="android.permission.READ_SMS"/>
ISSUE Không có sự kiện nào sau đó do đó android không biết nếu có một số thông báo mới.
Có thể bạn có thể thử một số getContext(). GetContentResolver(). NotifyChange (uri, null); Chỉ cần ý tưởng. – Mertuarez
Yea chỉ xây dựng lớp học của riêng bạn để khởi chạy ứng dụng sms và hiển thị thông báo cho người dùng. –
theo cách này có vấn đề. khi tôi mở một thông báo sms thực sự, ứng dụng sms hiển thị trạng thái "chưa đọc". nhưng nếu sms bị giả mạo. nó được đọc. – fazhang