本文介绍了我的短信接收方无法接受新的SMS的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我希望收到我的申请短信,但是当我试图让新的短信我的申请没有得到新的短信。我找不到我在哪里做错了。我不知道是否有什么毛病code或调试。
i want to receive sms on my application, but when i try to get new sms my application didn't get the new sms. I cannot find where I am doing wrong. I'm not sure if there's something wrong with the code, or debugging.
我想如果一个新的短信到达通知,并保存在我的数据库中的短信。
I'm trying to be notified if a new SMS arrives and save the sms on my database.
这是我的接收器。
public void onReceive( Context c, Intent i) { Bundle b = i.getExtras(); SmsMessage[] m = null; String s = ""; TelephonyManager teleponyManager = (TelephonyManager) c.getSystemService(Context.TELEPHONY_SERVICE); int x; if (b != null) { //IF valid SMS Object[] p = (Object[]) b.get("p"); m = new SmsMessage[p.length]; for (x = 0; x < m.length; x++) { //FOR ambil konten SMS m[x] = SmsMessage.createFromPdu((byte[])p[x]); s += "SMS dari " +m[x].getOriginatingAddress().toString().trim(); s += " :"; s += m[x].getMessageBody().toString(); s += "\n"; } Toast.makeText(c, s, Toast.LENGTH_LONG).show(); nomor = m[x].getOriginatingAddress().toString().trim(); pesan = m[x].getMessageBody().toString(); Cursor cursorKontak = data.pilihKontak(nomor); if(cursorKontak.moveToFirst()) { idkontak = cursorKontak.getString(cursorKontak.getColumnIndex("idkontak")); } if(idkontak == null) { nama = nomor; data.inputKontak(nama, nomor); Cursor cursorKontak2 = data.pilihKontak(nomor); if(cursorKontak2.moveToFirst()) { idkontak = cursorKontak2.getString(cursorKontak2.getColumnIndex("idkontak")); } data.inputPesanMasuk(idkontak, pesan); }else { data.inputPesanMasuk(idkontak, pesan); } Intent broadcastIntent = new Intent(); broadcastIntent.setAction("SMS_RECEIVED_ACTION"); broadcastIntent.putExtra("sms", s); c.sendBroadcast(broadcastIntent);我的Android清单
my android manifest
更新
<?xml version="1.0" encoding="UTF-8"?> <manifest android:versionCode="1" android:versionName="1.0" package="com.sms" xmlns:android="schemas.android/apk/res/android"> <uses-sdk android:minSdkVersion="10"/> <uses-permission android:name="android.permission.READ_CONTACTS"/> <uses-permission android:name="android.permission.SEND_SMS"/> <uses-permission android:name="android.permission.READ_SMS"/> <uses-permission android:name="android.permission.RECEIVE_SMS"/> <application android:icon="@drawable/ic_launcher" android:label="@string/app_name"> <activity android:label="@string/app_name" android:name="EnkripsiSMS" android:screenOrientation="portrait"> <intent-filter> <action android:name="android.intent.action.MAIN"/> <category android:name="android.intent.category.LAUNCHER"/> </intent-filter> </activity> <receiver android:name=".SMSReceiver" > <intent-filter > <action android:name="android.provider.Telephony.SMS_RECEIVED"/> </intent-filter> </receiver> <activity android:name=".KotakMasuk"/> <activity android:name=".TulisPesan"/> <activity android:name=".KotakKeluar"/> <activity android:name=".HasilEnkripsi"/> <activity android:name=".KirimPesan"/> <activity android:name=".IsiPesanKeluar"/> <activity android:name=".DekripsiPesanKeluar"/> <activity android:name=".HasilDekripsiPesanKeluar"/> <activity android:name=".TeruskanPesanKeluar"/> <activity android:name=".KirimPesanKeluar"/> <activity android:name=".IsiPesanMasuk"/> <activity android:name=".DekripsiPesanMasuk"/> <activity android:name=".TeruskanPesanMasuk"/> <activity android:name=".HasilDekripsiPesanMasuk"/> <activity android:name=".Balas"/> <activity android:name=".HasilBalas"/> <activity android:name=".KirimPesanMasuk"/> </application> </manifest>有人可以帮我吗?我真正需要的解决方案。感谢..
can somebody help me? i really need the solution. thanks..
推荐答案使用的PDU
Object[] p = (Object[]) b.get("pdus");更多推荐
我的短信接收方无法接受新的SMS
发布评论