我正在尝试使用OuterClass.this从ResultCallback接口中访问顶级活动(MainActivity),但错误显示:


  无法解析符号OuterClass


我正在使用适用于Android的Google API的文档中来自SettingsApi的示例代码。

另外,我收到另一个错误消息:


  无法解析符号REQUEST_CHECK_SETTINGS


MainActivity.java

public class MainActivity extends AppCompatActivity {
   ...
   ...
   protected void createLocationRequest() {
      ...
      ...
      result.setResultCallback(new ResultCallback<LocationSettingsResult>() {
         @Override
         public void onResult(LocationSettingsResult result) {
           final Status status = result.getStatus();
           final LocationSettingsStates = result.getLocationSettingsStates();
           switch (status.getStatusCode()) {
             case LocationSettingsStatusCodes.SUCCESS:
               ...
               break;
             case LocationSettingsStatusCodes.RESOLUTION_REQUIRED:
               try {
                  status.startResolutionForResult(
                      OuterClass.this,
                      REQUEST_CHECK_SETTINGS);
               } catch (SendIntentException e) {
                   ...
               }
               break;
             case LocationSettingsStatusCodes.SETTINGS_CHANGE_UNAVAILABLE:
               ...
               break;
           }
         }
      });
   }
}


谢谢!

最佳答案

看起来REQUEST_CHECK_SETTINGS只是值1的局部整数。

Here's a link到声明以下内容的github示例:

protected static final int REQUEST_CHECK_SETTINGS = 0x1;


然后在调用它时使用与代码相同的函数:

case LocationSettingsStatusCodes.RESOLUTION_REQUIRED:
  ...
status.startResolutionForResult(getActivity(), REQUEST_CHECK_SETTINGS);


先前已在StackOverflow上问过此问题。

我当然可以理解混乱。

Google Android documentation中的示例中使用了REQUEST_CHECK_SETTINGS,而没有解释该值的含义。

即使在documentation specifically about Status.startResolutionForResult中,它也将参数描述为:“传递给onActivityResult的请求代码。”

关于java - 无法解析符号OuterClass,REQUEST_CHECK_SETTINGS(Android),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46018756/

10-10 02:20