Dzien dobry
Wysylam smsa z komorki poprzez ponizszy kod. Komorka wysyla i dodaje go w wyslanych smsach. Czy mozna jakos zablokowac ta czynnosc tzn. sms poszedl, nie wpisujac go w wyslanych smsach komorki nadawcy?
import android.Manifest;
import android.app.Activity;
import android.app.PendingIntent;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.pm.PackageManager;
import android.support.v4.app.ActivityCompat;
import android.support.v4.content.ContextCompat;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.telephony.SmsManager;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
String number = "505xxxxxx";
// sprawdzenie i uruchonienie sms
private Context context;
private Activity activity;
private static final int PERMISSION_REQUEST_CODE = 1;
//
// wysylanie sms
private final int MY_PERMISSIONS_REQUEST_SEND_SMS = 1;
private final String SENT = "SMS_SENT";
private final String DELIVERED = "SMS_DELIVERED";
PendingIntent sentPI, deliveredPI;
BroadcastReceiver smsSentReceiver, smsDeliveredReceiver;
//
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// sprawdzenie i uruchonienie uslugi sms
context = getApplicationContext();
activity = this;
if (checkPermissionSMS()) {
} else {
requestPermissionSMS();
}
//
// wysylanie sms
sentPI = PendingIntent.getBroadcast(this, 0, new Intent(SENT), 0);
deliveredPI = PendingIntent.getBroadcast(this, 0, new Intent(DELIVERED), 0);
String message = "tekst";
if (ContextCompat.checkSelfPermission(this, Manifest.permission.SEND_SMS) != PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this, new String [] {Manifest.permission.SEND_SMS}, MY_PERMISSIONS_REQUEST_SEND_SMS);
} else {
SmsManager sms = SmsManager.getDefault();
sms.sendTextMessage(number, null, message, sentPI, deliveredPI);
}
//
}
// sprawdzenie i uruchonienie uslugi sms
private boolean checkPermissionSMS() {
int result = ContextCompat.checkSelfPermission(context, Manifest.permission.SEND_SMS);
if (result == PackageManager.PERMISSION_GRANTED) {
return true;
} else {
return false;
}
}
//
private void requestPermissionSMS(){
if (ActivityCompat.shouldShowRequestPermissionRationale(activity, Manifest.permission.SEND_SMS)){
Toast.makeText(context, "SMS jest wyłączony i nie może byc włączony automatycznie", Toast.LENGTH_LONG).show();
} else {
ActivityCompat.requestPermissions(activity, new String[]{Manifest.permission.SEND_SMS},PERMISSION_REQUEST_CODE);
}
}
//
// wysylanie sms
@Override
protected void onPause() {
super.onPause();
unregisterReceiver(smsSentReceiver);
unregisterReceiver(smsDeliveredReceiver);
}
//
@Override
protected void onResume() {
super.onResume();
smsSentReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
switch (getResultCode()) {
case Activity.RESULT_OK:
Toast.makeText(context, "SMS sent successfully!", Toast.LENGTH_SHORT).show();
break;
case SmsManager.RESULT_ERROR_GENERIC_FAILURE:
Toast.makeText(context, "Generic failure!", Toast.LENGTH_SHORT).show();
break;
case SmsManager.RESULT_ERROR_NO_SERVICE:
Toast.makeText(context, "No service!", Toast.LENGTH_SHORT).show();
break;
case SmsManager.RESULT_ERROR_NULL_PDU:
Toast.makeText(context, "Null PDU!", Toast.LENGTH_SHORT).show();
break;
case SmsManager.RESULT_ERROR_RADIO_OFF:
Toast.makeText(context, "Radio off!", Toast.LENGTH_SHORT).show();
break;
}
}
};
smsDeliveredReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
switch(getResultCode()) {
case Activity.RESULT_OK:
Toast.makeText(context, "SMS delivered!", Toast.LENGTH_SHORT).show();
break;
case Activity.RESULT_CANCELED:
Toast.makeText(context, "SMS not delivered!", Toast.LENGTH_SHORT).show();
break;
}
}
};
registerReceiver(smsSentReceiver, new IntentFilter(SENT));
registerReceiver(smsDeliveredReceiver, new IntentFilter(DELIVERED));
}
//
}
pozdrawiam
_duszek