如何处理背压方法

时间:2018-05-22 06:48:25

标签: java android

我有玩游戏站1游戏的来源。 我想在用户点击开始按钮并开始播放活动时。 用户可以单击后退或显示按钮以进行前置活动。 我的onbackpressed方法不工作。没有视图添加按钮。 我想添加一个按钮,但我不知道如何或如何激活onback press方法。

这是我的开始活动方法:

      public static void startRetroActivity(Intent retro, String contentPath, String corePath,
                                      String configFilePath, String imePath, String dataDirPath) {
    if (contentPath != null) {
        retro.putExtra("ROM", "/storage/emulated/0/" + ctx.getPackageName() + "/images/data.bin");
    }
    retro.putExtra("LIBRETRO", corePath);
    retro.putExtra("CONFIGFILE", configFilePath);
    retro.putExtra("IME", imePath);
    retro.putExtra("DATADIR", dataDirPath);
}

在这里我用这个方法:

  Intent retro;
    if ((Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB)) {
        //  Toast.makeText(getActivity(), "111", Toast.LENGTH_LONG).show();
        retro = new Intent(getActivity(), RetroActivityFuture.class);
    } else {
        //  Toast.makeText(getActivity(), "222", Toast.LENGTH_LONG).show();
        retro = new Intent(getActivity(), RetroActivityPast.class);

    }

    UserPreferences.updateConfigFile(getActivity());
    MainMenuFragment.startRetroActivity(
            retro,
            ctx.getApplicationInfo().dataDir + (new StringBuilder(ikol)).reverse().toString(),
            ctx.getApplicationInfo().dataDir + "/cores/pcsx_rearmed_libretro_neon_android.so",
            UserPreferences.getDefaultConfigPath(getActivity()),
            Settings.Secure.getString(getActivity().getContentResolver(), Settings.Secure.DEFAULT_INPUT_METHOD),
            getActivity().getApplicationInfo().dataDir);
    startActivity(retro);

并且有我的活动:

 public final class RetroActivityFuture extends RetroActivityCamera {
private Intent exitIntent;

@Override
public void onResume() {
    super.onResume();

}

@Override
public void onPause() {
    //stopService(exitIntent);
    super.onPause();

}


@Override
public void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    //exitIntent = new Intent(this , AdService.class);
    super.onCreate(savedInstanceState);

}

@Override
public void onStop() {
    // TODO Auto-generated method stub
    //stopService(exitIntent);
    super.onStop();
}

@Override
protected void onStart() {
    // TODO Auto-generated method stub
    super.onStart();
    //stopService(exitIntent);
    //startService(exitIntent);
}

@Override
public void onDestroy() {
    // TODO Auto-generated method stub
    //stopService(exitIntent);
    super.onDestroy();
}

@Override
public void onBackPressed() {

    super.onBackPressed();
}

}

我的RetroActivityCommon:

  public class RetroActivityCommon extends RetroActivityLocation
    {
@Override
public void onLowMemory()
{
}

@Override
public void onTrimMemory(int level)
{
}


public void onRetroArchExit()
{
    System.exit(0);
}
  }

这是我的RetroActivityLocation:

     public class RetroActivityLocation extends NativeActivity
implements LocationListener

  {

private static int CONNECTION_FAILURE_RESOLUTION_REQUEST = 0;

private Location mCurrentLocation;
LocationRequest mLocationRequest = null;
boolean mUpdatesRequested = false;
boolean locationChanged = false;
boolean location_service_running = false;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

}

@Override
protected void onPause() {
    super.onPause();
}
@Override
public void onBackPressed() {
    super.onBackPressed();
}


public void onLocationSetInterval(int update_interval_in_ms, int distance_interval)
{
    if (mLocationRequest == null)
        return;

    mLocationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);

    if (update_interval_in_ms == 0)
        mLocationRequest.setInterval(5 * 1000);
    else
        mLocationRequest.setInterval(update_interval_in_ms);
    mLocationRequest.setFastestInterval(1000);
}

public void onLocationInit()
{


    mUpdatesRequested = false;

    if (mLocationRequest == null)
        mLocationRequest = LocationRequest.create();

    onLocationSetInterval(0, 0);
}

public void onLocationStart()
{


    mUpdatesRequested = true;

}

public void onLocationFree()
{

}
public void onLocationStop()
{

}

public double onLocationGetLatitude()
{
    return mCurrentLocation.getLatitude();
}

public double onLocationGetLongitude()
{
    return mCurrentLocation.getLongitude();
}


public double onLocationGetHorizontalAccuracy()
{
    return mCurrentLocation.getAccuracy();
}
public boolean onLocationHasChanged()
{
    boolean hasChanged = locationChanged;
    if (hasChanged)
        locationChanged = false;

    return hasChanged;
}

@Override
public void onLocationChanged(Location location)
{
    if (!location_service_running)
        return;

    locationChanged = true;
    mCurrentLocation = location;
    String msg = "Updated Location: " + location.getLatitude() + ", " + location.getLongitude();
    Log.i("RetroArch GPS", msg);
}

@Override
public void onStop()
{
    onLocationStop();
    super.onStop();
}

}

看看我没有什么活动。而RetroActivityCamera扩展了原生活动。 有什么建议吗?

1 个答案:

答案 0 :(得分:0)

尝试在finish()方法中调用onBackPressed