我知道这个问题在这里问了很多,但只是想知道,因为ICS得到了释放,有没有一种方法,使GPS编程?
我试图启用GPS和发送设备的位置到电子邮件,当它接收到的短信应用程序将启动。
我知道这个问题在这里问了很多,但只是想知道,因为ICS得到了释放,有没有一种方法,使GPS编程?
我试图启用GPS和发送设备的位置到电子邮件,当它接收到的短信应用程序将启动。
有没有一种方法,使GPS编程?
我希望不会,因为这将是一个私密性的缺陷。 据我所知,所有已知的漏洞,允许恶意软件,使GPS编程现在已经关闭。
我试图启用GPS和发送设备的位置,以电子邮件
用户控制GPS是否启用。
正如马克说,我当然希望不是因为在打开的事情,用户想要的关闭肯定不是一个非常好的事情;-)
您可以要求用户这样做的过程中(您可能已经发现,但参考这里是一个无足轻重的方式从内存中这样做)
LocationManager L = (LocationManager) getSystemService(LOCATION_SERVICE);
if (!L.isProviderEnabled(LocationManager.GPS_PROVIDER)) {
Intent I = new Intent(
android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS);
startActivity(I);
}
为了让用户启用GPS,看看这个链接
下面将试图按降序准确性为了得到最后已知的GPS定位功能的内脏。 如果启用GPS的用户没有,则无法启用它。 你能做的最好的是抓住最后已知的位置,或者提示他们启用GPS。 每当用户在另一个应用程序使用GPS,并获得一个新的坐标,或连接到无线网络的最后已知位置将会改变。 我想你可以写调查该数据每隔5-10分钟后台服务,并将其发送给您。 虽然,我不与方向同意你似乎与此应用程序的标题。 大声笑。 对于科学!
LocationManager lm = (LocationManager)act.getSystemService(Context.LOCATION_SERVICE);
Criteria crit = new Criteria();
crit.setAccuracy(Criteria.ACCURACY_FINE); String provider = lm.getBestProvider(crit, true);
Location loc = lm.getLastKnownLocation(provider);
if(loc){
return loc;
}
lm = (LocationManager)act.getSystemService(Context.LOCATION_SERVICE);
crit = new Criteria();
crit.setAccuracy(Criteria.ACCURACY_COARSE);
provider = lm.getBestProvider(crit, true);
loc = lm.getLastKnownLocation(provider);
if(loc){
return loc;
}
lm = (LocationManager)act.getSystemService(Context.LOCATION_SERVICE);
crit = new Criteria();
crit.setAccuracy(Criteria.NO_REQUIREMENT);
provider = lm.getBestProvider(crit, true);
loc = lm.getLastKnownLocation(provider);
return null;
你要问权限的用户:
Intent gpsOptionsIntent = new Intent(android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS);
startActivity(gpsOptionsIntent);