Skip to content

Commit 6c2ace9

Browse files
committed
Modifies SMS Reciever to recieve multiple messages
1 parent df67bc3 commit 6c2ace9

File tree

10 files changed

+113
-76
lines changed

10 files changed

+113
-76
lines changed

app/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ android {
44
compileSdkVersion 25
55
buildToolsVersion "25.0.2"
66
defaultConfig {
7-
applicationId "com.example.haresh.aashasmsserevr"
7+
applicationId "com.example.haresh.aashasmsserver"
88
minSdkVersion 15
99
targetSdkVersion 25
1010
versionCode 1

app/src/androidTest/java/com/example/haresh/aashasmsserevr/ExampleInstrumentedTest.java renamed to app/src/androidTest/java/com/example/haresh/aashasmsserver/ExampleInstrumentedTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.example.haresh.aashasmsserevr;
1+
package com.example.haresh.aashasmsserver;
22

33
import android.content.Context;
44
import android.support.test.InstrumentationRegistry;
@@ -21,6 +21,6 @@ public void useAppContext() throws Exception {
2121
// Context of the app under test.
2222
Context appContext = InstrumentationRegistry.getTargetContext();
2323

24-
assertEquals("com.example.haresh.aashasmsserevr", appContext.getPackageName());
24+
assertEquals("com.example.haresh.aashasmsserver", appContext.getPackageName());
2525
}
2626
}

app/src/main/AndroidManifest.xml

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
3-
package="com.example.haresh.aashasmsserevr">
3+
package="com.example.haresh.aashasmsserver">
44

55
<uses-permission android:name="android.permission.RECEIVE_SMS" />
66
<uses-permission android:name="android.permission.READ_SMS" />
@@ -12,14 +12,20 @@
1212
android:label="@string/app_name"
1313
android:supportsRtl="true"
1414
android:theme="@style/AppTheme">
15-
<activity android:name=".MainActivity">
15+
<activity android:name="com.example.haresh.aashasmsserver.MainActivity">
1616
<intent-filter>
1717
<action android:name="android.intent.action.MAIN" />
1818

1919
<category android:name="android.intent.category.LAUNCHER" />
2020
</intent-filter>
2121
</activity>
2222

23+
<receiver android:name=".SmsHandler">
24+
<intent-filter>
25+
<action android:name="android.provider.Telephony.SMS_RECEIVED" />
26+
</intent-filter>
27+
</receiver>
28+
2329
</application>
2430

2531
</manifest>

app/src/main/java/com/example/haresh/aashasmsserevr/MainActivity.java

Lines changed: 0 additions & 13 deletions
This file was deleted.

app/src/main/java/com/example/haresh/aashasmsserevr/SmsHandler.java

Lines changed: 0 additions & 55 deletions
This file was deleted.
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
package com.example.haresh.aashasmsserver;
2+
3+
import android.Manifest;
4+
import android.content.pm.PackageManager;
5+
import android.support.annotation.NonNull;
6+
import android.support.v4.app.ActivityCompat;
7+
import android.support.v7.app.AppCompatActivity;
8+
import android.os.Bundle;
9+
import android.widget.Toast;
10+
11+
public class MainActivity extends AppCompatActivity {
12+
13+
int PERMISSIONS_REQUEST_CODE = 1;
14+
15+
@Override
16+
protected void onCreate(Bundle savedInstanceState) {
17+
super.onCreate(savedInstanceState);
18+
setContentView(R.layout.activity_main);
19+
20+
requestPermissions();
21+
}
22+
23+
@Override
24+
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
25+
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
26+
27+
boolean allGranted = true;
28+
29+
if (grantResults.length > 0) {
30+
for (int grantResult : grantResults) {
31+
if (grantResult != PackageManager.PERMISSION_GRANTED) {
32+
allGranted = false;
33+
break;
34+
}
35+
}
36+
}
37+
if (allGranted) {
38+
// Nothing
39+
} else {
40+
Toast.makeText(this, "Please grant the requested permissions.", Toast.LENGTH_SHORT).show();
41+
finish();
42+
}
43+
}
44+
45+
public void requestPermissions() {
46+
String[] permissions = {
47+
Manifest.permission.RECEIVE_SMS,
48+
Manifest.permission.READ_SMS,
49+
Manifest.permission.SEND_SMS
50+
};
51+
ActivityCompat.requestPermissions(this, permissions, PERMISSIONS_REQUEST_CODE);
52+
}
53+
}
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
package com.example.haresh.aashasmsserver;
2+
3+
import android.content.BroadcastReceiver;
4+
import android.content.Context;
5+
import android.content.Intent;
6+
import android.os.Bundle;
7+
import android.telephony.SmsManager;
8+
import android.telephony.SmsMessage;
9+
import android.util.Log;
10+
11+
public class SmsHandler extends BroadcastReceiver {
12+
13+
final String TAG = "SMS_Handler";
14+
15+
@Override
16+
public void onReceive(Context context, Intent intent) {
17+
Log.d(TAG, "Message recieved");
18+
final Bundle bundle = intent.getExtras();
19+
try {
20+
if (bundle != null) {
21+
final Object[] pdus = (Object[]) bundle.get("pdus");
22+
assert pdus != null;
23+
for (Object aPdusObj : pdus) {
24+
SmsMessage currentMessage = SmsMessage.createFromPdu((byte[]) aPdusObj);
25+
26+
String senderNum = currentMessage.getDisplayOriginatingAddress();
27+
String message = currentMessage.getDisplayMessageBody();
28+
29+
Log.i(TAG, "senderNum: " + senderNum + "; message: " + message);
30+
}
31+
}
32+
} catch (Exception e) {
33+
Log.e("SmsReceiver", "Exception smsReceiver" + e.getMessage());
34+
}
35+
}
36+
37+
public void sendSms(String msg, String phoneNo) {
38+
try {
39+
SmsManager smsManager = SmsManager.getDefault();
40+
smsManager.sendTextMessage(phoneNo, null, msg, null, null);
41+
Log.d(TAG, "Sms Sent");
42+
} catch (Exception e) {
43+
Log.d(TAG, "Sms Not Sent");
44+
}
45+
}
46+
}

app/src/main/res/layout/activity_main.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
android:paddingLeft="@dimen/activity_horizontal_margin"
99
android:paddingRight="@dimen/activity_horizontal_margin"
1010
android:paddingTop="@dimen/activity_vertical_margin"
11-
tools:context="com.example.haresh.aashasmsserevr.MainActivity">
11+
tools:context="com.example.haresh.aashasmsserver.MainActivity">
1212

1313
<TextView
1414
android:layout_width="wrap_content"

app/src/main/res/values/strings.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
<resources>
2-
<string name="app_name">AashaSMSSerevr</string>
2+
<string name="app_name">AashaSMSServer</string>
33
</resources>

app/src/test/java/com/example/haresh/aashasmsserevr/ExampleUnitTest.java renamed to app/src/test/java/com/example/haresh/aashasmsserver/ExampleUnitTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.example.haresh.aashasmsserevr;
1+
package com.example.haresh.aashasmsserver;
22

33
import org.junit.Test;
44

0 commit comments

Comments
 (0)