कहा जाता है मैं रनटाइम अनुमति अनुरोध का उपयोग कर रहा हूं, लेकिन इसमें कोई समस्या है। ऐसा लगता है कि कॉलबैक विधि onRequestPermissionsResult
को अनंत काल कहा जाता है। तो जब उपयोगकर्ता अनुरोध से इंकार कर देता है तो ऐप उत्तरदायी नहीं है ..onRequestPermissionsResult को असीमित
जब भी उपयोगकर्ता 'अस्वीकार' पर क्लिक करता है तो अनुमति संवाद फिर से दिखाई देता है। केवल "फिर से पूछें" पर क्लिक करके यह फिर से दिखाई नहीं देता है। * जब 'अनुमति' दबाकर यह अच्छी तरह से काम करता है - बिना किसी समस्या के।
क्या एक बार के बाद लागू होने वाली विधि को रद्द करने का कोई तरीका है?
if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED)
{
ActivityCompat.requestPermissions(this, new String[]{ Manifest.permission.ACCESS_FINE_LOCATION }, LOCATION_PERMISSION_CUSTOM_REQUEST_CODE);
}
@Override
public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) {
switch(requestCode)
{
case LOCATION_PERMISSION_CUSTOM_REQUEST_CODE:
// If request is cancelled, the result arrays are empty.
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
// permission was granted
MyManager.connect();
return;
} else {
// permission denied
return;
}
default:
return;
}
}
कृपया अपना कोड –
@GilMoshayof पोस्ट संपादित करें) धन्यवाद – BVtp
MyManager.connect() में क्या होता है? –