To save sms / message in inbox or sent folder on default android’s messaging application, use following simple function. This code will save text message in all Android versions including above or below versions from Kitkat.
public boolean saveSms(String phoneNumber, String message, String readState, String time, String folderName) { boolean ret = false; try { ContentValues values = new ContentValues(); values.put("address", phoneNumber); values.put("body", message); values.put("read", readState); //"0" for have not read sms and "1" for have read sms values.put("date", time); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { Uri uri = Telephony.Sms.Sent.CONTENT_URI; if(folderName.equals("inbox")){ uri = Telephony.Sms.Inbox.CONTENT_URI; } mActivity.getContentResolver().insert(uri, values); } else { /* folderName could be inbox or sent */ mActivity.getContentResolver().insert(Uri.parse("content://sms/" + folderName), values); } ret = true; } catch (Exception ex) { ex.printStackTrace(); ret = false; } return ret; }
Call this function to save message on android’s default sms database.
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { final String myPackageName = getPackageName(); if (!Telephony.Sms.getDefaultSmsPackage(this).equals(myPackageName)) { Intent intent = new Intent(Telephony.Sms.Intents.ACTION_CHANGE_DEFAULT); intent.putExtra(Telephony.Sms.Intents.EXTRA_PACKAGE_NAME, myPackageName); startActivityForResult(intent, 1); }else { saveSms("111111", "mmmmssssggggg", "0", "", "inbox"); } }else { saveSms("111111", "mmmmssssggggg", "0", "", "inbox"); }
onActivityResult
@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == 1) { if (resultCode == RESULT_OK) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { final String myPackageName = getPackageName(); if (Telephony.Sms.getDefaultSmsPackage(mActivity).equals(myPackageName)) { //Write to the default sms app saveSms("111111", "mmmmssssggggg", "0", "", "inbox"); } } } } }
AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.innovativepocket.fakeSms"> <uses-permission android:name="android.permission.WRITE_SMS"/> <uses-permission android:name="android.permission.READ_SMS"/> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsRtl="true" android:theme="@style/AppTheme"> <activity android:name=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> <action android:name="android.intent.action.SEND" /> <action android:name="android.intent.action.SENDTO" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" /> <data android:scheme="sms" /> <data android:scheme="smsto" /> <data android:scheme="mms" /> <data android:scheme="mmsto" /> </intent-filter> </activity> <!-- BroadcastReceiver that listens for incoming SMS messages --> <receiver android:name=".SmsReceiver" android:permission="android.permission.BROADCAST_SMS"> <intent-filter> <action android:name="android.provider.Telephony.SMS_DELIVER" /> </intent-filter> </receiver> <!-- BroadcastReceiver that listens for incoming MMS messages --> <receiver android:name=".MmsReceiver" android:permission="android.permission.BROADCAST_WAP_PUSH"> <intent-filter> <action android:name="android.provider.Telephony.WAP_PUSH_DELIVER" /> <data android:mimeType="application/vnd.wap.mms-message" /> </intent-filter> </receiver> <!-- Service that delivers messages from the phone "quick response" --> <service android:name=".HeadlessSmsSendService" android:permission="android.permission.SEND_RESPOND_VIA_MESSAGE" android:exported="true" > <intent-filter> <action android:name="android.intent.action.RESPOND_VIA_MESSAGE" /> <category android:name="android.intent.category.DEFAULT" /> <data android:scheme="sms" /> <data android:scheme="smsto" /> <data android:scheme="mms" /> <data android:scheme="mmsto" /> </intent-filter> </service> </application> </manifest>
HeadlessSmsSendService.java
public class HeadlessSmsSendService extends IntentService { public HeadlessSmsSendService() { super(HeadlessSmsSendService.class.getName()); } @Override protected void onHandleIntent(Intent intent) { throw new UnsupportedOperationException("Not yet implemented"); } }
MmsReceiver.java
public class MmsReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { } }
SmsReceiver.java
public class SmsReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { } }
Real Gangster Street Life Free Android game Available on Google Play store
Real Gangster