第二个参数类型错误。找到:“ com.google.android.gms.location.LocationCallback”,必填:“ android.app.PendingIntent”

时间:2019-03-01 12:25:27

标签: android

我正在尝试在程序中使用FusedLocationProviderClient,但我一直发现此错误。

我在requestLocationUpdates方法中遇到错误

我正在关注here上pubnub的教程

我的程序是

public class DriverActivity extends AppCompatActivity {
private FusedLocationProviderClient mFusedLocationClient;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    LocationRequest locationRequest = LocationRequest.create();
    locationRequest.setInterval(5000);
    locationRequest.setFastestInterval(5000);
    locationRequest.setSmallestDisplacement(10);
    locationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);
    if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
        // TODO: Consider calling
        //    ActivityCompat#requestPermissions
        // here to request the missing permissions, and then overriding
        //   public void onRequestPermissionsResult(int requestCode, String[] permissions,
        //                                          int[] grantResults)
        // to handle the case where the user grants the permission. See the documentation
        // for ActivityCompat#requestPermissions for more details.
        return;
    }
    mFusedLocationClient.requestLocationUpdates(locationRequest, new LocationCallback() {
        @Override
        public void onLocationResult(LocationResult locationResult) {
            Location location = locationResult.getLastLocation();
            Main2Activity.pubnub.publish()
                    .message("")
                    .channel("")
                    .async(new PNCallback<PNPublishResult>() {
                        @Override
                        public void onResponse(PNPublishResult result, PNStatus status) {
                            // handle publish result, status always present, result if successful
                            // status.isError() to see if error happened
                            if (!status.isError()) {
                                System.out.println("pub timetoken: " + result.getTimetoken());
                            }
                            System.out.println("pub status code: " + status.getStatusCode());
                        }
                    });
                    }

        });
    }

1 个答案:

答案 0 :(得分:0)

Looper.myLooper()方法中添加requestLocationUpdates()作为第三个参数。