2012-06-19 182 views
0

我是android.i的新手,通過模擬器運行應用程序。但總是出現錯誤.logcat顯示:無法打開堆棧跟蹤文件'/ data/anr/traces。 TXT':權限被拒絕通過gps獲取當前位置(經度和緯度)

WhereAmIActivity.Java

package com.paad.whereami; 

import android.app.Activity; 
import android.content.Context; 
import android.location.Location; 
import android.location.LocationManager; 
import android.os.Bundle; 
import android.widget.TextView; 

public class WhereAmIActivity extends Activity { 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    LocationManager locationManager; 
    String context = Context.LOCATION_SERVICE; 
    locationManager = (LocationManager)getSystemService(context);//bulid locationmanager 

    String provider = LocationManager.KEY_LOCATION_CHANGED; 
    Location location = locationManager.getLastKnownLocation(provider);//get lastlocation 

    updateWithNewLocation(location);//pass to updatewithnewlocation 
} 

private void updateWithNewLocation(Location location){//show Location in TextView 
    String latLongString; 
    TextView myLocationText; 
    myLocationText = (TextView)findViewById(R.id.myLocationText);// 
    if(location!=null){// 
     double lat = location.getLatitude(); 
     double lng = location.getLongitude(); 
     latLongString = "Lat:"+lat+"\nLong:"+lng; 
    }else{// 
     latLongString = "No location found"; 
    } 
    myLocationText.setText("Your Current POsition is:\n"+latLongString);// 
} 

}

使用許可權

<uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION"/> 
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/> 
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> 
+1

編寫此權限:<使用權限android:name =「android.permission.INTERNET」/> –

+0

也嘗試使用

回答

0

無法打開堆棧跟蹤文件 '/data/anr/traces.txt':不準

我不知道你在哪裏試圖訪問traces.txt文件。但如果其顯示權限錯誤 那麼解決它給它完全訪問:)

在終端執行以下命令

$adb shell 
#cd \data 
#chmod 777 anr 

請記住,如果您嘗試在實際的設備上,上述命令可能不起作用。您需要root用戶。

0

這不是您獲取當前位置的方式。它只是最後一個已知的位置。爲了獲得當前位置,需要操作系統告訴你它何時有一個新的位置(因爲它需要很長的時間,基於很多事情),並且你可能會在,然後使用它。

相關問題