java - 为什么 Android Studio 构建找不到符号变量 MockPackageManager?
问题描述
在这里,我想找到经度和纬度并将其显示到 xml 中。
package com.example.adeeb.gamecom;
import android.Manifest;
import android.content.pm.PackageManager;
import android.location.LocationListener;
import android.location.LocationManager;
import android.support.v4.app.ActivityCompat;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
Button btnShowLocation;
private static final int REQUEST_CODE_PERMISSION = 2;
String mPermission = Manifest.permission.ACCESS_FINE_LOCATION;
GPSTracker gps;
TextView location;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
try
{
if(ActivityCompat.checkSelfPermission(this,mPermission)!=
MockPackageManager.PERMISSION_GRANTED ){
ActivityCompat.requestPermissions(this,new String[]
{mPermission},REQUEST_CODE_PERMISSION);
}
}
catch (Exception e)
{
e.printStackTrace();
}
btnShowLocation = (Button) findViewById(R.id.button);
btnShowLocation.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View V)
{
gps = new GPSTracker(MainActivity.this);
location = (TextView) findViewById(R.id.locationtext);
if(gps.canGetLocation())
{
double latitude = gps.getLatitude();
double longitude = gps.getLongitude();
location.setText(latitude+" "+longitude);
}
else
{
gps.showSettingsAlert();
}
}
});
}
为什么编译器会给出错误找不到符号变量 MockPackageManager。如果我使用 packagemanager 应用程序不显示经度和纬度。我该如何解决这个问题?
解决方案
原因是 MockManager 是一个(已弃用)用于模拟包管理器行为的测试类。
当我将 Target API 更改为 28 时,我遇到了类似的问题。下面给出的代码对我来说效果很好。
try {
if (ActivityCompat.checkSelfPermission(this, mPermission)
!= PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this, new String[]{mPermission},
REQUEST_CODE_PERMISSION);
}
} catch (Exception e) {
e.printStackTrace();
}
推荐阅读
- angular - Ionic 4:'ion-slide' 不是已知元素
- c++ - 使用 OpenCV 打开 USB 相机
- python-3.x - scikit-learn 中的哪些估算器支持 `partial_fit` API?
- ios - 有没有办法阻止今天的 iOS 扩展在后台发送 API 请求?
- c - libssh 隧道回显输入
- webpack - 是否可以使用 webpack 从 es6 编译为 commonjs
- nginx - Nginx 在 keycloak 和本地微服务前
- swift - UIViewController 的便捷初始化中调用了什么初始化程序?
- reactjs - React Native:状态有时为空 - setState 正在异步工作
- java - 尝试为 Android 设置 Gmail API 时,应用程序崩溃并给出 NullPointerException 错误