猿问

如何让我的位置类通过短信发送坐标?

我在通过短信发送位置坐标时遇到困难。我无法正确构图发送的短信。这是我的顶级代码:


private static final int REQUEST_CODE = 1000;


FusedLocationProviderClient fusedLocationProviderClient;

LocationRequest locationRequest;

LocationCallback locationCallback;


@Override

public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {

    super.onRequestPermissionsResult(requestCode, permissions, grantResults);

    switch (requestCode)

    {

        case REQUEST_CODE:

        {

            if(grantResults.length > 0)

            {

                if(grantResults[0] == PackageManager.PERMISSION_GRANTED)

                {


                }

                else if(grantResults[0] == PackageManager.PERMISSION_DENIED)

                {


                }

            }

        }

    }

}

在我的“创建”中,双符号读取了意外的令牌错误。我也认为我需要在那里添加一个私人空白,但不知道哪种与发送短信相对应。


if (ActivityCompat.shouldShowRequestPermissionRationale(this, Manifest.permission.ACCESS_FINE_LOCATION))

    {

        ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.ACCESS_FINE_LOCATION}, REQUEST_CODE);

    }

    else

    {


        buildLocationRequest();

        buildLocationCallback();

        fusedLocationProviderClient = LocationServices.getFusedLocationProviderClient(this);


        {

        if (ActivityCompat.checkSelfPermission(FullscreenActivity.this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED)

            && ActivityCompat.checkSelfPermission(FullscreenActivity.this, Manifest.permission.ACCESS_COARSE_LOCATION);

            ActivityCompat.requestPermissions(FullscreenActivity.this, new String[]{Manifest.permission.ACCESS_FINE_LOCATION}, REQUEST_CODE);

        return;

    }

    fusedLocationProviderClient.requestLocationUpdates(locationRequest, locationCallback, Looper.myLooper());


    }


在 onCreate 部分之后,我遇到了最多困难的地方,特别是位置当前位置字符串中的位置方法,该字符串说参数从未使用过,并且我也得到了一个错误与 getLongitude 关闭。它包含一个带有分号的错误,我在那里添加的任何内容都不起作用,例如a )。我不知道我是否正确执行此位置/短信类。


皈依舞
浏览 97回答 1
1回答

鸿蒙传说

在构建后添加 getLastLocation() 方法位置回调private void getLastLocation() {&nbsp; &nbsp; try {&nbsp; &nbsp; &nbsp; &nbsp; fusedLocationProviderClient.getLastLocation()&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; .addOnCompleteListener(new OnCompleteListener<Location>() {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; @Override&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; public void onComplete(@NonNull Task<Location> task) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if (task.isSuccessful() && task.getResult() != null) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; mLocation = task.getResult();&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; location("MY_PHONE_NUMBER", task.getResult());&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; } else {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Log.w(TAG, "Failed to get location.");&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; });&nbsp; &nbsp; } catch (SecurityException unlikely) {&nbsp; &nbsp; &nbsp; &nbsp; Log.e(TAG, "Lost location permission." + unlikely);&nbsp; &nbsp; }}更新您的位置信息方法private void location(String phoneNumber, Location currentLocation) {&nbsp; &nbsp; try {&nbsp; &nbsp; &nbsp; &nbsp; SmsManager smsManager = SmsManager.getDefault();&nbsp; &nbsp; &nbsp; &nbsp; smsManager.sendTextMessage(phoneNumber, null, "maps.google.com?q=" + currentLocation.getLatitude() + "," + currentLocation.getLongitude(), null, null);&nbsp; &nbsp; &nbsp; &nbsp; Toast.makeText(getApplicationContext(), "SMS Sent!",&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Toast.LENGTH_LONG).show();&nbsp; &nbsp; } catch (Exception e) {&nbsp; &nbsp; &nbsp; &nbsp; Toast.makeText(getApplicationContext(),&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; "SMS faild, please try again later!",&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Toast.LENGTH_LONG).show();&nbsp; &nbsp; &nbsp; &nbsp; e.printStackTrace();&nbsp; &nbsp; }}
随时随地看视频慕课网APP

相关分类

Java
我要回答