Java 活动关闭前调用的指令

Java 活动关闭前调用的指令,java,android,device-admin,Java,Android,Device Admin,我试图了解用户是否启用了管理员,然后更新onResume中的复选框 问题是,允许用户启用管理员的活动已启动,并且在不等待用户决定的情况下启动了以下代码。 怎么能绕过它呢 private void doAttivaRimuoviAdmin() { if (isAdminAttivo()) { mDPM.removeActiveAdmin(mDeviceAdminSample); } else { Intent localIntent = new In

我试图了解用户是否启用了管理员,然后更新onResume中的复选框

问题是,允许用户启用管理员的活动已启动,并且在不等待用户决定的情况下启动了以下代码。 怎么能绕过它呢

private void doAttivaRimuoviAdmin() {
    if (isAdminAttivo()) {
        mDPM.removeActiveAdmin(mDeviceAdminSample);
    } else {
        Intent localIntent = new Intent("android.app.action.ADD_DEVICE_ADMIN");
        localIntent.putExtra("android.app.extra.DEVICE_ADMIN", mDeviceAdminSample);
        localIntent.putExtra("android.app.extra.ADD_EXPLANATION",
                getString(R.string.spiegazione_amministratore));
        startActivityForResult(localIntent, 1);

        // se non è stato dato il permesso, non attiva la checkbox
        Editor e = mPrefs.edit();

        if (isAdminAttivo()) {
            e.putBoolean("spegnischermoabilitato", true);
        } else {
            e.putBoolean("spegnischermoabilitato", false);
        }
        e.commit();
        Log.i(getString(R.string.app_name), ""+ mPrefs.getBoolean("spegnischermoabilitato", false));

    }

}
简而言之,SharedReference SpegnischerMobilitato中始终包含FALSE。

来自以下文档:

启动一项活动,在该活动完成时希望获得结果。 当此活动退出时,onActivityResult方法将被禁用 使用给定的请求代码调用。使用否定的requestCode是 与调用StartActivityEvent相同,该活动未按要求启动 子活动

换句话说,您将需要覆盖。在该方法中,您必须检查是否使用startActivityForResult中设置的requestCode调用了该方法,以及该方法是否包含预期的resultCode。如果它写下你的偏好