Note that there are some explanatory texts on larger screens.

plurals
  1. POAndroid Sim Tracker code
    primarykey
    data
    text
    <p>Hie..</p> <p>I am making an app in which I am detecting whether SIM has changed or not..? On installation of my app I am storing the current SIM serial number in shared preferences. On boot I have registered a broadcast receiver. In <code>onReceive()</code> method I am accessing current SIM serial number and comparing it with the stored one on the time of installation, Below is my code of receiver :</p> <pre><code> package com.secuirity.sms; import org.apache.harmony.xnet.provider.jsse.GMailSender; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.SharedPreferences; import android.os.AsyncTask; import android.telephony.SmsManager; import android.telephony.TelephonyManager; import android.util.Log; public class BootUpReciever extends BroadcastReceiver{ Context context; String email; String currentSimSerial; SharedPreferences settings; SmsManager smsMgr = SmsManager.getDefault(); public static final String PREFS_NAME = "MyPrefsFile"; @Override public void onReceive(Context context, Intent intent) { settings = context.getSharedPreferences(PREFS_NAME, 0); String storedSimSerial = settings.getString("storedSimSerial", null); Log.d("Stored Sim Serial::",storedSimSerial); TelephonyManager tm = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE); currentSimSerial = tm.getSimSerialNumber(); Log.d("Current Sim Serial","::"+currentSimSerial); String trustedNum = settings.getString("cellno", null); email = settings.getString("email", null); if(currentSimSerial == storedSimSerial){ }else{ Log.d("Sim changed","!!!"); new GmailAsync().execute(""); String sms = "Sim card has changed, " + "Sim Serial Number of this card is\n"+currentSimSerial+ "Network Operator"+tm.getNetworkOperatorName(); smsMgr.sendTextMessage(trustedNum, null,sms, null, null); } Intent sms = new Intent(context, SMSReceiver.class); sms.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(sms); Intent netAvailability = new Intent(context, CheckingNetworkAvailability.class); netAvailability.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(netAvailability); } public class GmailAsync extends AsyncTask&lt;String, Void, String&gt;{ @Override protected String doInBackground(String... params) { // TODO Auto-generated method stub String mail_body = "Sim serial number is "+currentSimSerial; String subject = "Your Sim has changed!!!"; GMailSender sender = new GMailSender("securemob.viasms@gmail.com", "smsfun890"); try { sender.sendMail(subject, mail_body+"\nThanks for using Mobile Security App", "securemob.viasms@gmail.com", email,null); } catch (Exception e) { Log.e("SendMail", e.getMessage(), e); } return null; } @Override protected void onPostExecute(String result) { // TODO Auto-generated method stub super.onPostExecute(result); Log.d("Mail","Sent"); } } } </code></pre> <p>But Its not working.... :(:(:( I have the following permissions READ_PHONE_STATE" and "RECEIVE_BOOT_COMPLETED"</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload