ICS安卓启用GPS编程?ICS安卓启用GPS编程?(ICS Android enable gps

2019-05-13 15:40发布

我知道这个问题在这里问了很多,但只是想知道,因为ICS得到了释放,有没有一种方法,使GPS编程?

我试图启用GPS和发送设备的位置到电子邮件,当它接收到的短信应用程序将启动。

Answer 1:

有没有一种方法,使GPS编程?

我希望不会,因为这将是一个私密性的缺陷。 据我所知,所有已知的漏洞,允许恶意软件,使GPS编程现在已经关闭。

我试图启用GPS和发送设备的位置,以电子邮件

用户控制GPS是否启用。



Answer 2:

正如马克说,我当然希望不是因为在打开的事情,用户想要的关闭肯定不是一个非常好的事情;-)

您可以要求用户这样做的过程中(您可能已经发现,但参考这里是一个无足轻重的方式从内存中这样做)

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);  
}


Answer 3:

为了让用户启用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;


Answer 4:

你要问权限的用户:

Intent gpsOptionsIntent = new Intent(android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS);
            startActivity(gpsOptionsIntent);


文章来源: ICS Android enable gps programmatically?