简体   繁体   English

如何在 java 类中调用 MainActivity 方法?

[英]How to call MainActivity method in a java class?

I'm trying ways to call my MainActivity method into my doWork in java class in android studio.我正在尝试将我的 MainActivity 方法调用到我在 android studio 中的 java 类中的 doWork 中。 But I'm not getting it.但我不明白。 Is there any way to call this method ?有没有办法调用这个方法?

Class in the MainActivity MainActivity 中的类

public class MainActivity extends AppCompatActivity implements LocationListener {

    protected double latitude, longitude;
    TextView txtLat, txtLng;

    LocationManager locationManager;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

    public void LocalizarUsuario(){

        txtLat = (TextView) findViewById(R.id.txtLat);
        txtLng = (TextView) findViewById(R.id.txtLng);


        locationManager =(LocationManager)

                getSystemService(Context.LOCATION_SERVICE);

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

        {
            ActivityCompat.requestPermissions(MainActivity.this, new String[]{Manifest.permission.ACCESS_FINE_LOCATION}, 100);
        }
        locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,0,0,this);
    }
}

Java class with the doWork带有 doWork 的 Java 类

public class WorkerClass extends Worker {
    public WorkerClass(
            @NonNull Context context,
            @NonNull WorkerParameters params) {
        super(context, params);
    }

    @Override
    public Result doWork() {

             LocalizarUsuario();


        // Indicate whether the work finished successfully with the Result
        return Result.success();
    }
}

根据您想要做什么,您可以将 WorkerClass 放入 MainActivity(内部类),或者如果您只想从 MainActivity 使用 WorkerClass,您可以传递

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM