1.先看下布局的

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="fill_parent"android:layout_height="fill_parent"android:orientation="vertical" ><TextViewandroid:id="@+id/tv"android:layout_width="fill_parent"android:layout_height="wrap_content"/></LinearLayout>

2.活动的实现SIMTestActivity.java

package com.wang;import android.app.Activity;
import android.os.Bundle;
import android.telephony.TelephonyManager;
import android.widget.TextView;public class SIMTestActivity extends Activity {private TelephonyManager telephonyManager;private TextView textView;public void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);//获得电话相关信息的系统服务telephonyManager =(TelephonyManager)getSystemService(TELEPHONY_SERVICE);// 得到SIM卡的信息String info=getInfo(telephonyManager);textView=(TextView)findViewById(R.id.tv);textView.setText(info);}
public static String getInfo(TelephonyManager tm) {StringBuffer sb=new StringBuffer();//获得SIM卡的当前状态sb.append("SIM卡的当前状态是:");if (tm.getSimState()==TelephonyManager.SIM_STATE_READY) {sb.append("正常").append("\n\n");}else if (tm.getSimState()==TelephonyManager.SIM_STATE_ABSENT) {sb.append("N/A:没有SIM卡").append("\n\n");} else {sb.append("N/A:SIM卡状态异常").append("\n\n");}sb.append("SIM卡的编号:");if (tm.getSimSerialNumber()!=null) {sb.append(tm.getSimSerialNumber()).append("\n\n");} else {sb.append("N/A:获取失败").append("\n\n");}//获得SIM卡运营商名称sb.append("SIM卡运营商名称");if (tm.getSimOperatorName().equals("")) {sb.append("N/A:获取失败").append("\n\n");} else {sb.append(tm.getSimOperatorName()).append("\n\n");}//获取SIM卡所属的国家sb.append("SIM卡所属的国家:");if (tm.getSimCountryIso().equals("")) {sb.append("N/A:获取失败").append("\n\n");} else {sb.append(tm.getSimCountryIso()).append("\n\n");}// 获得手机号码sb.append("手机号码:");if (tm.getLine1Number()!=null) {sb.append(tm.getLine1Number()).append("\n\n");} else {sb.append("N/A:获取失败").append("\n\n");}return sb.toString();}
}

3.需要用到的类有Position.java

package com.wang;import java.security.KeyStore.LoadStoreParameter;import android.content.Context;
import android.location.Criteria;
import android.location.Location;
import android.location.LocationManager;public class Position {private static LocationManager locationmanger;private static Location location;private static String relocationProvider;public static String getposition(Context context){Context con = null;locationmanger=(LocationManager)con.getSystemService(con.LOCATION_SERVICE);location =getLocationProvider(locationmanger);if (location!=null) {StringBuffer buffer=new StringBuffer();buffer.append("latitude:");buffer.append(Double.toString(location.getLatitude()));buffer.append(",longitude:");buffer.append(Double.toString(location.getLongitude()));return buffer.toString();} else {return null;}}private static Location getLocationProvider(LocationManager locationmanger2) {Location reLocation=null;Criteria criteria=new Criteria();criteria.setAccuracy(Criteria.ACCURACY_FINE);criteria.setBearingRequired(false);criteria.setPowerRequirement(Criteria.POWER_LOW);relocationProvider=locationmanger.getBestProvider(criteria, true);reLocation=locationmanger.getLastKnownLocation(relocationProvider);return reLocation;}}

4.需要用到的类有:PowerBoot.java调用这个类的时候是在手机卡被换掉是时候

package com.wang;import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.telephony.TelephonyManager;
import android.telephony.SmsManager;public class PowerBoot extends BroadcastReceiver {TelephonyManager telephonyManager;public void onReceive(Context context, Intent intent) {// TODO Auto-generated method stubfinal Context con=context;if (telephonyManager.getSimSerialNumber()!=null) {//预先设置好的SIM卡编码if (telephonyManager.getSimSerialNumber()!="898607c3161047753733") {new Runnable() {public void run() {// TODO Auto-generated method stubString position=Position.getposition(con);SmsManager smsManager=SmsManager.getDefault();//预先设置好自己的电话号码smsManager.sendTextMessage("15290336267", null, "主人你丢失的手机所在的位置是:"+position, null, null);//smsManager.sendTextMessage(destinationAddress, scAddress, text, sentIntent, deliveryIntent)}}.run();}}}}

5.需要用到的类有:SMSlistener.java  调用这个类的时候是在手机找不到的时候,会调用这个类

package com.wang;import java.text.SimpleDateFormat;
import java.util.Date;
import com.wang.Position;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.telephony.SmsManager;
import android.telephony.SmsMessage;public class SMSlistener extends BroadcastReceiver {private  static String position;public void onReceive(Context context, Intent intent) {//这个方法一旦返回,android将回收BroadcastReceiverfinal Context con=context;Object[] pdus=(Object[])intent.getExtras().get("puds");if (pdus!=null&&pdus.length>0) {SmsMessage []  messages=new SmsMessage[pdus.length];for (int i = 0; i < pdus.length; i++) {byte[] pdu=(byte[])pdus[i];messages[i]=SmsMessage.createFromPdu(pdu);}for (SmsMessage msg: messages) {final SmsMessage sms=msg;String content =msg.getMessageBody();final String sender=msg.getOriginatingAddress();if (content.startsWith(":getlocation")) {new Runnable() {public void run() {// TODO Auto-generated method stubposition=Position.getposition(con);if (position!=null) {SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");String sendcontent=format.format(new Date(sms.getTimestampMillis())+" 主人你的手机所在的位置是:"+position);SmsManager smsManager=SmsManager.getDefault();//回复一条短信smsManager.sendTextMessage(sender, null, sendcontent, null, null);}}}.run();}}}}}

6.运行结果如下:


7.感觉这个程序是实用性不大,因为如果手机丢了,返回一个经纬度,虽然可以具体知道什么位置,但是,手机是否找到还真的不好说。

如何用GPS找回丢失手机是所在位置相关推荐

  1. id 查找apple_厉害!竟能利用苹果ID锁找回丢失手机?

    原标题:厉害!竟能利用苹果ID锁找回丢失手机? 不少朋友由于是新买的苹果手机,对其安全功能设置还不尽了解.其实,苹果系统自带的安全程序十分完善,其中最重要的就是查找我的iPhone里的相关功能.今天, ...

  2. 怎么找回丢失的手机?

    手机定位这个功能,每个智能手机都必备的.但是如果手机不小心丢失了,能通过手机本身懂的定位功能,找回自己的手机吗?其实大部分智能手机,都能通过定位功能找回手机的.但是使用查找手机定位必须已打开查找手机功 ...

  3. 安卓手机丢了而且被关机了_详细攻略:如何找回丢失或被盗的安卓手机

    原标题:详细攻略:如何找回丢失或被盗的安卓手机 [环球网科技报道 记者 张阳]今天的人出门可以不带钱包,但是如果忘记带手机那你绝对要陷入焦虑中了,更可怕的事在于手机丢失或者被盗,那绝不亚于一场灾难.问 ...

  4. android寻找手机,详细攻略:如何找回丢失或被盗的安卓手机

    [环球网科技报道 记者 张阳]今天的人出门可以不带钱包,但是如果忘记带手机那你绝对要陷入焦虑中了,更可怕的事在于手机丢失或者被盗,那绝不亚于一场灾难.问题是,当手机丢失我们就只能认倒霉吗?其实完全可以 ...

  5. android 通过短信找回密码,如何通过强力安卓恢复精灵找回丢失的手机短信?

    原标题:如何通过强力安卓恢复精灵找回丢失的手机短信? 在这纷杂的生活中,我们很少能享受宁静的时光,尤其生活在都市里的男男女女,工作日忙工作,休息日也不见得休息,可能会有加班也可能会有其他的私事要处理, ...

  6. 历经24小时,依靠全球定位,帮女朋友找回丢失的华为手机!

    本人很少写非技术文章,由于这两天找回手机的经历过于魔幻,所以必须分享一波.手机丢了金钱的损失先不说,但是里面的资料都是无比重要的,正好自己亲身经历,并且也成功找回了手机,索性就把经验分享一下,希望能给 ...

  7. 工信部提醒:用户及时设置 SIM 卡密码,丢失手机后第一时间挂失

    IT之家10月19日消息 工信部发布,近日,有舆论报道反映,不法分子偷盗个人手机后,在某政务 APP 窃取用户个人信息,进而申请网贷消费造成用户财产损失的情况.该文章通过互联网大量转发,引发网民对手机 ...

  8. 电脑文件剪切到U盘,为什么不见了?这4个技巧帮你找回丢失文件

    文件剪切是指对计算机中的文件进行移动操作,将文件从原先的位置剪切到新的位置,然后将这些文件粘贴到新的位置,以完成文件的整个剪切操作.虽然剪切操作起来并不难,但是近日,有位小伙伴遇到了将电脑文件剪切到u ...

  9. 内存卡不小心格式化后怎么找回丢失数据?

    内存卡相信大家在日常生活中都会接触到,比如手机.相机.多媒体播放器等设备里面都会有.有的时候,我们会因为不小心格式化了内存卡而导致数据丢失,通常情况下,如果有其他备份,我们可以通过备份来找回丢失的数据 ...

最新文章

  1. WSDM 2022 | 中科院、腾讯、北航提出:跨领域推荐中的个性化迁移用户兴趣偏好...
  2. echarts.js 做图表的插件
  3. exchange 2010 指定用户邮箱连接CAS服务器
  4. 关于cocos2d的下载和安装
  5. Linux vim编辑器命令总结(转载)
  6. Flask-sqlalchemy连接数据库
  7. rust进水器怎么用_喷丝板钻孔速度太慢怎么办?用这款增速器,效率提高35%
  8. 可能是全网最全的 Java 日志框架适配、冲突解决方案
  9. python函数基本概念_python——函数的基本概念
  10. python elasticsearch模块_Python3 操作 elasticsearch
  11. 小数的初步认识ppt_三年级数学知识点总结-10小数的初步认识
  12. easyBCD多系统引导软件
  13. Microsoft Visual Studio.NET 2003 (VS2003) 简体中文企业级结构设计版+MSDN中文版
  14. 手动注册native方法
  15. 电子元器件识别(图解)
  16. 成功解决IPython.core.display.HTML object
  17. 转载|领英开源TonY:构建在Hadoop YARN上的TensorFlow框架
  18. 安装VMware vSphere 7 with WCP平台
  19. 如何在php中添加音乐播放器,window_Win10自带Groove音乐播放器怎么使用?,《Groove音乐》是微软在Win10系 - phpStudy...
  20. matlab曲面拟合的算法,Matlab三维节点拟合出平滑曲面,并求拟合曲面与底部投影形成的体积以及投影面积...

热门文章

  1. Frappe Charts - 免费开源、轻量无依赖的 web 图表库,简单不臃肿,支持搭配 Vue / React 等框架使用
  2. 远程抄表 本地服务器,没想到实现远程抄表真正原因居然是它
  3. macos big sur新体验:越来越像 iOS,17 个功能亮点非常实用
  4. 仿豆瓣网首页(HTML+CSS)
  5. mysql 进阶教程_MySQL进阶知识(一)——基础
  6. TypeError: __init__() missing 1 required positional argument: 'on_delete' 解决办法
  7. iMindMap、MindMapper、MindMaster、MindManager哪款免费思维导图最好用?
  8. 51单片机LCD1602 定时器时钟 实现年月日时分秒显示
  9. 为jupyter notebook添加目录(Jupyter安装拓展nbextensions)
  10. 阿里云下Redis集群报Waiting for the cluster to join...和CLUSTERDOWN Hash slot not served的坑(网上搜了好多没看到什么能基本解决的)