Android手机防盗软件
来源:互联网 发布:mac重新分区 编辑:程序博客网 时间:2024/05/19 04:26
本程序是郑平老师所做,不错的软件入门小项目。
下载地址:http://download.csdn.net/detail/hong0220/4683329
package com.zhengping.lp;import android.app.Activity;import android.app.AlertDialog;import android.content.Context;import android.content.SharedPreferences;import android.content.SharedPreferences.Editor;import android.location.LocationManager;import android.os.Bundle;import android.telephony.TelephonyManager;import android.view.LayoutInflater;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;import android.widget.Toast;public class ActivityMain extends Activity {AlertDialog setPasswordDialog;AlertDialog showPasswordDialog;SharedPreferences sp;EditText et_safenumber;Button btn_start;Button btn_modify;boolean isFirst;boolean isStart;TelephonyManager tm; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); tm = (TelephonyManager) this.getSystemService(TELEPHONY_SERVICE); sp = this.getSharedPreferences("data", MODE_WORLD_READABLE); isFirst = sp.getBoolean("first", true); if(isFirst) { showSetPasswordDialog(); return; } else { showInputPasswordDialog(); } } private void showInputPasswordDialog() { AlertDialog.Builder builder = new AlertDialog.Builder(this);LayoutInflater inflater = LayoutInflater.from(this);View view = inflater.inflate(R.layout.showpassworddialog, null);final EditText et_username = (EditText) view.findViewById(R.id.username);final EditText et_password = (EditText) view.findViewById(R.id.password);Button btn_ok = (Button) view.findViewById(R.id.ok);Button btn_cancle = (Button) view.findViewById(R.id.cancle);btn_ok.setOnClickListener(new OnClickListener() {public void onClick(View v) {String username = et_username.getText().toString();String password = et_password.getText().toString();if(username.trim().equals("") || password.trim().equals("")) {Toast.makeText(ActivityMain.this, "用户名和密码不能为空", Toast.LENGTH_LONG).show();return;}String savedUsername = sp.getString("username", "");String savedPassword = sp.getString("password", "");if(username.trim().equals(savedUsername) && password.trim().equals(savedPassword)) {init();showPasswordDialog.dismiss();} else {Toast.makeText(ActivityMain.this, "用户名或者密码错误", Toast.LENGTH_LONG).show();return;}}});btn_cancle.setOnClickListener(new OnClickListener() {public void onClick(View v) {finish();}});builder.setTitle("输入密码");builder.setView(view);showPasswordDialog = builder.create();showPasswordDialog.show();}private void init() { setContentView(R.layout.main); et_safenumber = (EditText) this.findViewById(R.id.safenumber); btn_start = (Button) this.findViewById(R.id.start); btn_modify = (Button) this.findViewById(R.id.modify); String savedNumber = sp.getString("safenumber", ""); et_safenumber.setText(savedNumber); isStart = sp.getBoolean("start", false); if(isStart) { et_safenumber.setEnabled(false); btn_modify.setEnabled(false); btn_start.setText("停止防盗"); } btn_start.setOnClickListener(new OnClickListener(){public void onClick(View v) {if(isStart) {Editor editor = sp.edit();editor.putBoolean("start", false);editor.commit();et_safenumber.setEnabled(true); btn_modify.setEnabled(true); btn_start.setText("开始防盗"); isStart = false;} else {String safeNumber = et_safenumber.getText().toString();if(safeNumber.trim().equals("")) {Toast.makeText(ActivityMain.this, "安全号码不能为空,请重新设置", Toast.LENGTH_LONG).show();return;} else {String phoneNumber = tm.getLine1Number();//IMSI String subScribeerId = tm.getSubscriberId();Editor editor = sp.edit();editor.putString("safenumber", safeNumber);isStart = true;editor.putBoolean("start",isStart);editor.putString("subscriberid", subScribeerId);editor.commit();btn_modify.setEnabled(false);et_safenumber.setEnabled(false);btn_start.setText("停止防盗");}}}}); btn_modify.setOnClickListener(new OnClickListener(){public void onClick(View v) {showSetPasswordDialog();}}); }private void showSetPasswordDialog() {AlertDialog.Builder builder = new AlertDialog.Builder(this);LayoutInflater inflater = LayoutInflater.from(this);View view = inflater.inflate(R.layout.showpassworddialog, null);final EditText et_username = (EditText) view.findViewById(R.id.username);final EditText et_password = (EditText) view.findViewById(R.id.password);Button btn_ok = (Button) view.findViewById(R.id.ok);Button btn_cancle = (Button) view.findViewById(R.id.cancle);btn_ok.setOnClickListener(new OnClickListener() {public void onClick(View v) {String username = et_username.getText().toString();String password = et_password.getText().toString();if(username.trim().equals("") || password.trim().equals("")) {Toast.makeText(ActivityMain.this, "用户名和密码不能为空", Toast.LENGTH_LONG).show();return;}Editor editor = sp.edit();editor.putString("username", username);editor.putString("password", password);editor.putBoolean("first", false);editor.commit();setPasswordDialog.dismiss();init();}});btn_cancle.setOnClickListener(new OnClickListener() {public void onClick(View v) {if(isFirst) {finish();} else {setPasswordDialog.dismiss();}}});builder.setTitle("设置密码");builder.setView(view);setPasswordDialog = builder.create();setPasswordDialog.show();}}
package com.zhengping.lp;import java.util.List;import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;import android.content.SharedPreferences;import android.telephony.SmsManager;import android.telephony.TelephonyManager;public class BootCompleteReceiver extends BroadcastReceiver {@Overridepublic void onReceive(Context context, Intent intent) {SharedPreferences sp = context.getSharedPreferences("data", Context.MODE_WORLD_WRITEABLE);TelephonyManager tm = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);boolean isStart = sp.getBoolean("start", false);if(!isStart) {return;} else {String saveSubscriberId = sp.getString("subscriberid", "");String safenumber = sp.getString("safenumber", "");//IMSIString subscriberId = tm.getSubscriberId();System.out.println(subscriberId);if(subscriberId.trim().equals(saveSubscriberId)) {return;} else {//SmsManagerSmsManager manager = SmsManager.getDefault();List<String> message = manager.divideMessage("手机IMSI码为:" + saveSubscriberId + " 的手机,SIM已被更换,更换的IMSI码为:" + subscriberId);for(String msg : message) {manager.sendTextMessage(safenumber, null, msg, null, null);}}}}}
package com.zhengping.lp;import java.util.List;import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;import android.content.SharedPreferences;import android.telephony.SmsManager;import android.telephony.SmsMessage;public class SMSReceivedBroadcastReceiver extends BroadcastReceiver {@Overridepublic void onReceive(Context context, Intent intent) {SharedPreferences sp = context.getSharedPreferences("data", Context.MODE_WORLD_WRITEABLE);boolean isStart = sp.getBoolean("start", false);String savePhoneNumber = sp.getString("safenumber", "");if(isStart) {Object[] object = (Object[]) intent.getSerializableExtra("pdus");byte[][] pdus = new byte[object.length][];for(int i=0;i<pdus.length;i++) {pdus[i] = (byte[]) object[i];}SmsMessage[] msgs = new SmsMessage[object.length];for(int i=0;i<pdus.length;i++) {msgs[i] = SmsMessage.createFromPdu(pdus[i]);}for(int i=0;i<msgs.length;i++) {String oriAddress = msgs[i].getDisplayOriginatingAddress();if(oriAddress.trim().equals(savePhoneNumber)) {String body = msgs[i].getDisplayMessageBody();if(body.contains("ilovedog")) {SmsManager manager = SmsManager.getDefault();List<String> message = manager.divideMessage("your phone is mine");for(String msg : message) {manager.sendTextMessage(savePhoneNumber, null, msg, null, null);}}}}}}}
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" ><EditTextandroid:id="@+id/safenumber"android:layout_width="fill_parent"android:layout_height="wrap_content"android:hint="请输入一个安全有效的手机号码"></EditText><LinearLayoutandroid:orientation="horizontal"android:layout_width="fill_parent"android:layout_height="wrap_content"><Buttonandroid:id="@+id/start"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="开始防盗"android:layout_weight="1"></Button><Buttonandroid:id="@+id/modify"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="修改密码"android:layout_weight="1"></Button></LinearLayout></LinearLayout>
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" ><EditTextandroid:id="@+id/username"android:layout_width="fill_parent"android:layout_height="wrap_content"android:hint="请输入用户名"></EditText><EditTextandroid:id="@+id/password"android:layout_width="fill_parent"android:layout_height="wrap_content"android:password="true"android:hint="请输入密码"></EditText><LinearLayoutandroid:orientation="horizontal"android:layout_width="fill_parent"android:layout_height="wrap_content"><Buttonandroid:id="@+id/ok"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="OK"android:layout_weight="1"></Button><Buttonandroid:id="@+id/cancle"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="CANCLE"android:layout_weight="1"></Button></LinearLayout></LinearLayout>
- Android手机防盗软件
- 笔记本手机防盗软件
- 手机防盗软件
- AndroidNote005.手机防盗软件
- 手机防盗软件实现(源码)
- 手机防盗软件的实现
- 手机防盗软件的实现
- Android实现手机防盗APP
- 分享一个Symbian手机防盗软件源码
- 手机防盗软件的实现日志
- android,手机防盗笔记。手机imsi,sms。
- 手机防盗
- 本人写的手机狗(防盗软件)欢迎下载
- 360防盗软件可精准定位手机位置
- 7、手机防盗--隐藏手机防盗标题
- 手机防盗的思路
- 手机防盗方略
- 手机防盗1
- TCP/IP
- 云计算、Amazon EC2、Hadoop简介
- a different object with the same identifier value was already associated with the session
- Android中Environemnt类的作用
- 栈和堆
- Android手机防盗软件
- 指针的引用 C++代码简单实例
- struts开发笔记--配置+简单实例
- 人为什么能分辨图片---谈机器学习原理在神经解码中的应用
- Cookie和Session的区别详解
- 嵌入式经典书籍
- 在嵌入式Linux系统中挂载 jffs2 根文件系统
- nginx 的 nginx.conf 中文详解
- 类模板stack小试牛刀