xwm1993 2016-03-29 06:55 采纳率: 0%
浏览 4121

联网后如何实现两部手机的远程控制

本人初学Android app 应用开发,现在想做一个app .当两部手机相互关联后,当一部手机丢失后,能一部手机能定位丢失的手机,并实现一些简单的远程控制操作

  • 写回答

4条回答 默认 最新

  • lx624909677 2016-03-29 07:03
    关注

    能实现定位的前提是,丢失的手机开机并且联网,能给另一端发送信号才行

    评论
  • threenewbee 2016-03-29 07:53
    关注

    不知道你是学生习作还是真的打算开发这么个软件,偷盗手机的人拿到手机的第一件事就是重新刷机了。最最起码也是拔掉里面的sim卡,根本也就不联网了,你还操作个毛。

    评论
  • deepbluemind 2016-03-29 14:58
    关注

    用两个类

    第一个service类
    public class AndroidLocationServices extends Service {

    WakeLock wakeLock;

    private LocationManager locationManager;

    public AndroidLocationServices() {
    // TODO Auto-generated constructor stub
    }

    @Override
    public IBinder onBind(Intent arg0) {
    // TODO Auto-generated method stub
    return null;
    }

    @Override
    public void onCreate() {
    // TODO Auto-generated method stub
    super.onCreate();

    PowerManager pm = (PowerManager) getSystemService(this.POWER_SERVICE);
    
    wakeLock = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "DoNotSleep");
    
    // Toast.makeText(getApplicationContext(), "Service Created",
    // Toast.LENGTH_SHORT).show();
    
    Log.e("Google", "Service Created");
    

    }

    @Override
    @Deprecated
    public void onStart(Intent intent, int startId) {
    // TODO Auto-generated method stub
    super.onStart(intent, startId);

    Log.e("Google", "Service Started");
    
    locationManager = (LocationManager) getApplicationContext()
            .getSystemService(Context.LOCATION_SERVICE);
    
    locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,
            5000, 5, listener);
    

    }

    private LocationListener listener = new LocationListener() {

    @Override
    public void onLocationChanged(Location location) {
        // TODO Auto-generated method stub
    
        Log.e("Google", "Location Changed");
    
        if (location == null)
            return;
    
        if (isConnectingToInternet(getApplicationContext())) {
            JSONArray jsonArray = new JSONArray();
            JSONObject jsonObject = new JSONObject();
    
            try {
                Log.e("latitude", location.getLatitude() + "");
                Log.e("longitude", location.getLongitude() + "");
    
                jsonObject.put("latitude", location.getLatitude());
                jsonObject.put("longitude", location.getLongitude());
    
                jsonArray.put(jsonObject);
    
                Log.e("request", jsonArray.toString());
    
                new LocationWebService().execute(new String[] {
                        Constants.TRACK_URL, jsonArray.toString() });
            } catch (Exception e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
    
        }
    
    }
    
    @Override
    public void onProviderDisabled(String provider) {
        // TODO Auto-generated method stub
    
    }
    
    @Override
    public void onProviderEnabled(String provider) {
        // TODO Auto-generated method stub
    
    }
    
    @Override
    public void onStatusChanged(String provider, int status, Bundle extras) {
        // TODO Auto-generated method stub
    
    }
    

    };

    @Override
    public void onDestroy() {
    // TODO Auto-generated method stub
    super.onDestroy();

    wakeLock.release();
    

    }

    public static boolean isConnectingToInternet(Context _context) {
    ConnectivityManager connectivity = (ConnectivityManager) _context
    .getSystemService(Context.CONNECTIVITY_SERVICE);
    if (connectivity != null) {
    NetworkInfo[] info = connectivity.getAllNetworkInfo();
    if (info != null)
    for (int i = 0; i < info.length; i++)
    if (info[i].getState() == NetworkInfo.State.CONNECTED) {
    return true;
    }

    }
    return false;
    

    }

    }

    第二个异步任务类

    public class LocationWebService extends AsyncTask {

    public LocationWebService() {
    // TODO Auto-generated constructor stub
    }

    @Override
    protected Boolean doInBackground(String... arg0) {

    ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
    nameValuePairs.add(new BasicNameValuePair("location", arg0[1]));
    
    HttpClient httpclient = new DefaultHttpClient();
    HttpPost httppost = new HttpPost(arg0[0]);
    HttpParams httpParameters = new BasicHttpParams();
    
    httpclient = new DefaultHttpClient(httpParameters);
    
    try {
        httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
    
        HttpResponse response;
        response = httpclient.execute(httppost);
        StatusLine statusLine = response.getStatusLine();
        if (statusLine.getStatusCode() == HttpStatus.SC_OK) {
    
            Log.e("Google", "Server Responded OK");
    
        } else {
    
            response.getEntity().getContent().close();
            throw new IOException(statusLine.getReasonPhrase());
        }
    } catch (Exception e) {
        e.printStackTrace();
    }
    
    return null;
    

    }
    }

    展开全部

    评论
  • lyhoo163 2016-03-29 14:59
    关注

    实现联网,运程控件另一台手机。

    1、另一台手机,植入木马程序。好听一点点是客户端程序。
    2、木马程序运行,并联网。
    3、木马程序还要防杀毒软件的封杀。
    4、服务器端调用木马程序。

    评论
编辑
预览

报告相同问题?

悬赏问题

  • ¥15 宝塔面板一键迁移使用不了
  • ¥15 求一个按键录像存储到内存卡的ESP32CAM代码
  • ¥15 如何单独修改下列canvas推箱子代码target参数?,插入图片代替其形状,就是哪个绿色的圆圈每关用插入的图片替代
  • ¥20 四叉树的创建和输出问题
  • ¥15 javaweb连接数据库,jsp文件加载不出来
  • ¥15 matlab关于高斯赛德尔迭代的应用编撰。(相关搜索:matlab代码|迭代法)
  • ¥15 损失匹配问题,求解答
  • ¥15 3500常用汉字书法体检测数据集下载
  • ¥15 odoo17在制造模块或采购模块良品与次品如何分流和在质检模块下如何开发
  • ¥15 Qt音乐播放器的音乐文件相对路径怎么写
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部