Why I don't get user-prompt to turn on GPS?
I have a code using the Location API, and I set the required permission checks (Or so I thought), but when I launch my app, it starts with "Location" permission disabled by default and I have to go to Settings and manually set location permission for my app instead of having prompted upon first launching the app.
The code looks like:
public class MainActivity extends AppCompatActivity {
private FusedLocationProviderClient mFusedLocationClient;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mFusedLocationClient = LocationServices.getFusedLocationProviderClient(this);
if (ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION)
!= PackageManager.PERMISSION_GRANTED) {
tv.setText("Not granted");
} else {
mFusedLocationClient.getLastLocation()
.addOnSuccessListener(this, new OnSuccessListener<Location>() {
@Override
public void onSuccess(Location location) {
// Got last known location. In some rare situations this can be null.
if (location != null) {
// Logic to handle location object
TextView tv = (TextView) findViewById(R.id.tv);
tv.setText("Granted");
}
}
});
}
}
}
android
add a comment |
I have a code using the Location API, and I set the required permission checks (Or so I thought), but when I launch my app, it starts with "Location" permission disabled by default and I have to go to Settings and manually set location permission for my app instead of having prompted upon first launching the app.
The code looks like:
public class MainActivity extends AppCompatActivity {
private FusedLocationProviderClient mFusedLocationClient;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mFusedLocationClient = LocationServices.getFusedLocationProviderClient(this);
if (ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION)
!= PackageManager.PERMISSION_GRANTED) {
tv.setText("Not granted");
} else {
mFusedLocationClient.getLastLocation()
.addOnSuccessListener(this, new OnSuccessListener<Location>() {
@Override
public void onSuccess(Location location) {
// Got last known location. In some rare situations this can be null.
if (location != null) {
// Logic to handle location object
TextView tv = (TextView) findViewById(R.id.tv);
tv.setText("Granted");
}
}
});
}
}
}
android
You want a dialog to turn on GPS or you want a dialog for GPS permission?
– Prithvi Bhola
Nov 18 '18 at 10:18
First I want the GPS permission, because my app starts with permission automatically disabled.. and then if possible (If you can show me how) then turning on is also a good option.
– TTnote
Nov 18 '18 at 10:21
Please check the answer
– Prithvi Bhola
Nov 18 '18 at 11:50
add a comment |
I have a code using the Location API, and I set the required permission checks (Or so I thought), but when I launch my app, it starts with "Location" permission disabled by default and I have to go to Settings and manually set location permission for my app instead of having prompted upon first launching the app.
The code looks like:
public class MainActivity extends AppCompatActivity {
private FusedLocationProviderClient mFusedLocationClient;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mFusedLocationClient = LocationServices.getFusedLocationProviderClient(this);
if (ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION)
!= PackageManager.PERMISSION_GRANTED) {
tv.setText("Not granted");
} else {
mFusedLocationClient.getLastLocation()
.addOnSuccessListener(this, new OnSuccessListener<Location>() {
@Override
public void onSuccess(Location location) {
// Got last known location. In some rare situations this can be null.
if (location != null) {
// Logic to handle location object
TextView tv = (TextView) findViewById(R.id.tv);
tv.setText("Granted");
}
}
});
}
}
}
android
I have a code using the Location API, and I set the required permission checks (Or so I thought), but when I launch my app, it starts with "Location" permission disabled by default and I have to go to Settings and manually set location permission for my app instead of having prompted upon first launching the app.
The code looks like:
public class MainActivity extends AppCompatActivity {
private FusedLocationProviderClient mFusedLocationClient;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mFusedLocationClient = LocationServices.getFusedLocationProviderClient(this);
if (ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION)
!= PackageManager.PERMISSION_GRANTED) {
tv.setText("Not granted");
} else {
mFusedLocationClient.getLastLocation()
.addOnSuccessListener(this, new OnSuccessListener<Location>() {
@Override
public void onSuccess(Location location) {
// Got last known location. In some rare situations this can be null.
if (location != null) {
// Logic to handle location object
TextView tv = (TextView) findViewById(R.id.tv);
tv.setText("Granted");
}
}
});
}
}
}
android
android
asked Nov 18 '18 at 10:11
TTnoteTTnote
969
969
You want a dialog to turn on GPS or you want a dialog for GPS permission?
– Prithvi Bhola
Nov 18 '18 at 10:18
First I want the GPS permission, because my app starts with permission automatically disabled.. and then if possible (If you can show me how) then turning on is also a good option.
– TTnote
Nov 18 '18 at 10:21
Please check the answer
– Prithvi Bhola
Nov 18 '18 at 11:50
add a comment |
You want a dialog to turn on GPS or you want a dialog for GPS permission?
– Prithvi Bhola
Nov 18 '18 at 10:18
First I want the GPS permission, because my app starts with permission automatically disabled.. and then if possible (If you can show me how) then turning on is also a good option.
– TTnote
Nov 18 '18 at 10:21
Please check the answer
– Prithvi Bhola
Nov 18 '18 at 11:50
You want a dialog to turn on GPS or you want a dialog for GPS permission?
– Prithvi Bhola
Nov 18 '18 at 10:18
You want a dialog to turn on GPS or you want a dialog for GPS permission?
– Prithvi Bhola
Nov 18 '18 at 10:18
First I want the GPS permission, because my app starts with permission automatically disabled.. and then if possible (If you can show me how) then turning on is also a good option.
– TTnote
Nov 18 '18 at 10:21
First I want the GPS permission, because my app starts with permission automatically disabled.. and then if possible (If you can show me how) then turning on is also a good option.
– TTnote
Nov 18 '18 at 10:21
Please check the answer
– Prithvi Bhola
Nov 18 '18 at 11:50
Please check the answer
– Prithvi Bhola
Nov 18 '18 at 11:50
add a comment |
2 Answers
2
active
oldest
votes
For asking permission I will suggest you use permission-dispatcher
library.
https://github.com/permissions-dispatcher/PermissionsDispatcher
And to enable GPS:
fun locationSetup() {
LocationServices.getSettingsClient(application)
.checkLocationSettings(
LocationSettingsRequest.Builder()
.addLocationRequest(locationRequest)
.setAlwaysShow(true)
.build())
.addOnSuccessListener { /*Start location service*/ }
.addOnFailureListener {
if (it.error is ResolvableApiException) {
try {
it.error.startResolutionForResult(this@MainActivity, REQUEST_CHECK_SETTINGS)
} catch (sendEx: IntentSender.SendIntentException) {}
}
}
}
add a comment |
You are not calling requestPermissions()
anywhere. Instead, you are calling tv.setText("Not granted");
. If you want to request permissions, call requestPermissions()
. See the documentation.
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53359750%2fwhy-i-dont-get-user-prompt-to-turn-on-gps%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
For asking permission I will suggest you use permission-dispatcher
library.
https://github.com/permissions-dispatcher/PermissionsDispatcher
And to enable GPS:
fun locationSetup() {
LocationServices.getSettingsClient(application)
.checkLocationSettings(
LocationSettingsRequest.Builder()
.addLocationRequest(locationRequest)
.setAlwaysShow(true)
.build())
.addOnSuccessListener { /*Start location service*/ }
.addOnFailureListener {
if (it.error is ResolvableApiException) {
try {
it.error.startResolutionForResult(this@MainActivity, REQUEST_CHECK_SETTINGS)
} catch (sendEx: IntentSender.SendIntentException) {}
}
}
}
add a comment |
For asking permission I will suggest you use permission-dispatcher
library.
https://github.com/permissions-dispatcher/PermissionsDispatcher
And to enable GPS:
fun locationSetup() {
LocationServices.getSettingsClient(application)
.checkLocationSettings(
LocationSettingsRequest.Builder()
.addLocationRequest(locationRequest)
.setAlwaysShow(true)
.build())
.addOnSuccessListener { /*Start location service*/ }
.addOnFailureListener {
if (it.error is ResolvableApiException) {
try {
it.error.startResolutionForResult(this@MainActivity, REQUEST_CHECK_SETTINGS)
} catch (sendEx: IntentSender.SendIntentException) {}
}
}
}
add a comment |
For asking permission I will suggest you use permission-dispatcher
library.
https://github.com/permissions-dispatcher/PermissionsDispatcher
And to enable GPS:
fun locationSetup() {
LocationServices.getSettingsClient(application)
.checkLocationSettings(
LocationSettingsRequest.Builder()
.addLocationRequest(locationRequest)
.setAlwaysShow(true)
.build())
.addOnSuccessListener { /*Start location service*/ }
.addOnFailureListener {
if (it.error is ResolvableApiException) {
try {
it.error.startResolutionForResult(this@MainActivity, REQUEST_CHECK_SETTINGS)
} catch (sendEx: IntentSender.SendIntentException) {}
}
}
}
For asking permission I will suggest you use permission-dispatcher
library.
https://github.com/permissions-dispatcher/PermissionsDispatcher
And to enable GPS:
fun locationSetup() {
LocationServices.getSettingsClient(application)
.checkLocationSettings(
LocationSettingsRequest.Builder()
.addLocationRequest(locationRequest)
.setAlwaysShow(true)
.build())
.addOnSuccessListener { /*Start location service*/ }
.addOnFailureListener {
if (it.error is ResolvableApiException) {
try {
it.error.startResolutionForResult(this@MainActivity, REQUEST_CHECK_SETTINGS)
} catch (sendEx: IntentSender.SendIntentException) {}
}
}
}
answered Nov 18 '18 at 11:49
Prithvi BholaPrithvi Bhola
1,090319
1,090319
add a comment |
add a comment |
You are not calling requestPermissions()
anywhere. Instead, you are calling tv.setText("Not granted");
. If you want to request permissions, call requestPermissions()
. See the documentation.
add a comment |
You are not calling requestPermissions()
anywhere. Instead, you are calling tv.setText("Not granted");
. If you want to request permissions, call requestPermissions()
. See the documentation.
add a comment |
You are not calling requestPermissions()
anywhere. Instead, you are calling tv.setText("Not granted");
. If you want to request permissions, call requestPermissions()
. See the documentation.
You are not calling requestPermissions()
anywhere. Instead, you are calling tv.setText("Not granted");
. If you want to request permissions, call requestPermissions()
. See the documentation.
answered Nov 18 '18 at 13:29
CommonsWareCommonsWare
770k13818791931
770k13818791931
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53359750%2fwhy-i-dont-get-user-prompt-to-turn-on-gps%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
You want a dialog to turn on GPS or you want a dialog for GPS permission?
– Prithvi Bhola
Nov 18 '18 at 10:18
First I want the GPS permission, because my app starts with permission automatically disabled.. and then if possible (If you can show me how) then turning on is also a good option.
– TTnote
Nov 18 '18 at 10:21
Please check the answer
– Prithvi Bhola
Nov 18 '18 at 11:50