本人初学Android app 应用开发,现在想做一个app .当两部手机相互关联后,当一部手机丢失后,能一部手机能定位丢失的手机,并实现一些简单的远程控制操作
4条回答 默认 最新
- lx624909677 2016-03-29 07:03关注解决 无用评论 打赏 举报
- threenewbee 2016-03-29 07:53关注解决 无用评论 打赏 举报
- 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关注解决 无用评论 打赏 举报
悬赏问题
- ¥15 宝塔面板一键迁移使用不了
- ¥15 求一个按键录像存储到内存卡的ESP32CAM代码
- ¥15 如何单独修改下列canvas推箱子代码target参数?,插入图片代替其形状,就是哪个绿色的圆圈每关用插入的图片替代
- ¥20 四叉树的创建和输出问题
- ¥15 javaweb连接数据库,jsp文件加载不出来
- ¥15 matlab关于高斯赛德尔迭代的应用编撰。(相关搜索:matlab代码|迭代法)
- ¥15 损失匹配问题,求解答
- ¥15 3500常用汉字书法体检测数据集下载
- ¥15 odoo17在制造模块或采购模块良品与次品如何分流和在质检模块下如何开发
- ¥15 Qt音乐播放器的音乐文件相对路径怎么写