我想在我的應用程序中顯示一些信息作爲短信。 但SmsManager和BroadcastReciever無法創建短信並通知電話本身。如何在不使用移動網絡的情況下將假短信發送給自己?
如何以編程方式向我自己發送假短信?任何想法,解決方法或任何研究類...?
謝謝。
我想在我的應用程序中顯示一些信息作爲短信。 但SmsManager和BroadcastReciever無法創建短信並通知電話本身。如何在不使用移動網絡的情況下將假短信發送給自己?
如何以編程方式向我自己發送假短信?任何想法,解決方法或任何研究類...?
謝謝。
概念證明
通話短信清單
Intent intent = new Intent("android.intent.action.MAIN");
intent.setComponent(
new ComponentName("com.android.mms","com.android.mms.ui.ConversationList"));
startActivity(intent);
讀取短信
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();
寫短信
ContentValues values = new ContentValues();
values.put("address", "SENDER");
values.put("body", "foo bar");
getContentResolver().insert(Uri.parse("content://sms/inbox"), values);
清單
<uses-permission android:name="android.permission.WRITE_SMS"/>
<uses-permission android:name="android.permission.READ_SMS"/>
ISSUE 之後沒有事件,因此如果有一些新的消息,android不知道。
可能是你可以嘗試一些getContext()。getContentResolver()。notifyChange(uri,null); 只是想法。 – Mertuarez 2011-12-07 14:01:09
是啊,只是建立你自己的類,啓動短信應用程序,並顯示通知給用戶。 – 2012-10-09 07:03:08
這種方式有問題。當我打開一個真正的短信通知短信應用程序顯示「未讀」狀態。但是如果短信是僞造的。它被讀取。 – fazhang 2013-04-11 02:19:42