[問題] GPS定位模擬器可以運作手機不行??

看板AndroidDev作者 (jerry)時間5年前 (2019/10/09 06:54), 編輯推噓0(001)
留言1則, 1人參與, 5年前最新討論串1/1
我想問大家 我寫的Android 讀取當前GPS的程式 寫好後,在Android模擬器上能運作 但是在Android手機上讀不出值(手機定位有打開,Android9.0 華碩手機) public class MainActivity extends AppCompatActivity implements LocationListener { public static final String TAG = "MainActivity"; private TextView tvLocation; private TextView tvUpdateCounts; private LocationManager locationManager; private int count; private static final int REQUEST_LOCATION = 10; Double longitude; Double latitude; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); tvLocation = (TextView) findViewById(R.id.tvLocation); tvUpdateCounts = (TextView) findViewById(R.id.tvUpdateCounts); if(Build.VERSION.SDK_INT> Build.VERSION_CODES.M){ if (checkSelfPermission(Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && checkSelfPermission(Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) { ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.ACCESS_FINE_LOCATION}, REQUEST_LOCATION); return; } } locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE); // Location location1 = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER); // tvLocation.setText("經度:"+location1.getLongitude()+"緯度: "+location1.getLatitude()); locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 5000, 0, this); //tvLocation.setText("經緯度 "+.getLongitude()+","+location.getLongitude()); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.menu_main, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { // Handle action bar item clicks here. The action bar will // automatically handle clicks on the Home/Up button, so long // as you specify a parent activity in AndroidManifest.xml. int id = item.getItemId(); //noinspection SimplifiableIfStatement if (id == R.id.action_settings) { return true; } return super.onOptionsItemSelected(item); } @Override public void onLocationChanged(Location location) { Log.i(TAG,"onLocationChanged"); count++; longitude=location.getLongitude(); latitude=location.getLatitude(); tvLocation.setText("經緯度"+longitude+","+latitude); tvUpdateCounts.setText("更新次數:"+count); } @Override public void onStatusChanged(String s, int i, Bundle bundle) { Log.i(TAG,"onStatusChanged"+ tvLocation.toString()); } @Override public void onProviderEnabled(String s) { Log.i(TAG,"onProviderEnabled"); } @Override public void onProviderDisabled(String s) { Log.i(TAG,"onLocationChanged"); } } Layout: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity"> <TextView android:id="@+id/tvLocation" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="經緯度" android:textSize="24sp" /> <TextView android:id="@+id/tvUpdateCounts" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_below="@+id/tvLocation" android:text="更新次數" android:textSize="24sp" /> </RelativeLayout> 在模擬器上GPS位置有顯示出來 但在手機上都沒出來 這不知道是什麼原因??? 煩請高手解答 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 172.58.27.173 (美國) ※ 文章網址: https://www.ptt.cc/bbs/AndroidDev/M.1570575288.A.B2A.html

10/09 09:33, 5年前 , 1F
Logcat說啥?
10/09 09:33, 1F
文章代碼(AID): #1TdHEuig (AndroidDev)