Heim >Java >javaLernprogramm >Wie kann ich Laufzeitstandortberechtigungen in Android anfordern?
So fordern Sie eine Standortberechtigung zur Laufzeit an
In Ihrem Code prüfen Sie korrekt, ob Standortberechtigungen vorhanden sind, und behandeln den Fall, in dem keine Berechtigungen vorhanden sind gewährt. Um die Berechtigungen jedoch tatsächlich zur Laufzeit anzufordern, müssen Sie ActivityCompat.requestPermissions verwenden.
Hier ist Ihre korrigierte MainActivity:
public class MainActivity extends AppCompatActivity implements LocationListener { // ... (rest of your code) @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED || ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) { ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.ACCESS_COARSE_LOCATION}, PERMISSION_REQUEST_CODE); } else { // Permissions already granted // ... } } @Override public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) { super.onRequestPermissionsResult(requestCode, permissions, grantResults); if (requestCode == PERMISSION_REQUEST_CODE) { if (grantResults[0] == PackageManager.PERMISSION_GRANTED && grantResults[1] == PackageManager.PERMISSION_GRANTED) { // Permissions granted // ... } else { // Permissions denied // ... } } } // ... (rest of your code) }
Wobei PERMISSION_REQUEST_CODE eine ganzzahlige Konstante ist, die Sie definieren können, um sie einfach zu referenzieren die Erlaubnisanfrage.
Zusätzlich Überlegungen
<manifest ...> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> </manifest>
Das obige ist der detaillierte Inhalt vonWie kann ich Laufzeitstandortberechtigungen in Android anfordern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!