Java onActivityResult()从未被调用
我在MainActivity.java中有一个类用作接口:Java onActivityResult()从未被调用,java,android,Java,Android,我在MainActivity.java中有一个类用作接口: 在函数displayGPSRequest中,我有startResolutionForResult,它应该调用activityResult上的方法,但它从来没有调用过。我试着看其他帖子,他们使用了片段,但我没有真正理解它们。我希望您能对此提供帮助。在关联的活动中应该重写onActivityResult-目前您只是在ResultCallback中声明了一个从未调用过的方法。那么我该怎么做呢?很抱歉,我真的是个新手,只需将onActivity
在函数displayGPSRequest中,我有startResolutionForResult,它应该调用activityResult上的方法,但它从来没有调用过。我试着看其他帖子,他们使用了片段,但我没有真正理解它们。我希望您能对此提供帮助。在关联的活动中应该重写onActivityResult-目前您只是在ResultCallback中声明了一个从未调用过的方法。那么我该怎么做呢?很抱歉,我真的是个新手,只需将onActivityResult方法移到Activity中即可-请看下面的示例:
public class prova{
prova(){
}
@JavascriptInterface
public void displayGPSRequest() {
result.setResultCallback(new ResultCallback<LocationSettingsResult>() {
@Override
public void onResult(LocationSettingsResult result) {
final Status status = result.getStatus();
switch (status.getStatusCode()) {
case LocationSettingsStatusCodes.SUCCESS:
Log.i(TAG, "All location settings are satisfied.");
break;
case LocationSettingsStatusCodes.RESOLUTION_REQUIRED:
Log.i(TAG, "Location settings are not satisfied. Show the user a dialog to upgrade location settings ");
try {
// Show the dialog by calling startResolutionForResult(), and check the result
// in onActivityResult().
status.startResolutionForResult(MainActivity.this, REQUEST_CHECK_SETTINGS);
} catch (IntentSender.SendIntentException e) {
Log.i(TAG, "PendingIntent unable to execute request.");
}
break;
case LocationSettingsStatusCodes.SETTINGS_CHANGE_UNAVAILABLE:
Log.i(TAG, "Location settings are inadequate, and cannot be fixed here. Dialog not created.");
break;
}
}
public void onActivityResult(int requestCode, int resultCode, Intent data)
{
//final LocationSettingsStates states = LocationSettingsStates.fromIntent(data);
switch (requestCode)
{
case REQUEST_CHECK_SETTINGS:
switch (resultCode)
{
case Activity.RESULT_OK:
{
// All required changes were successfully made
Toast.makeText(MainActivity.this, "Location enabled by user!", Toast.LENGTH_LONG).show();
break;
}
case Activity.RESULT_CANCELED:
{
// The user was asked to change settings, but chose not to
Toast.makeText(MainActivity.this, "Location not enabled, user cancelled.", Toast.LENGTH_LONG).show();
break;
}
default:
{
break;
}
}
break;
}
}
});
}
}