Yes you can. Just launch a fingerprint helper when someone entering the restricted area. With a button click something like:
public void onClick(View v) {
if (v.getId() == R.id.cancel_button) {
finish();
}
if (v.getId() == R.id.learn_more_button) {
launchFingerprintHelp();
}
super.onClick(v);
}
Launch:
private void launchFingerprintHelp() {
Intent helpIntent = HelpUtils.getHelpIntent(this,
getString(R.string.help_url_fingerprint), getClass().getName());
startActivity(helpIntent);
}
Than finish it with onactivity and read if the acces was suceed:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode == RESULT_FINISHED) {
finish();
} else {
super.onActivityResult(requestCode, resultCode, data);
}
}
Here you have a full preview of what it should like:
package com.android.settings.fingerprint;
import android.app.admin.DevicePolicyManager;
import android.content.Intent;
import android.os.Bundle;
import android.os.UserHandle;
import android.view.View;
import com.android.settings.ChooseLockSettingsHelper;
import com.android.settings.HelpUtils;
import com.android.settings.R;
public class FingerprintEnrollIntroduction extends FingerprintEnrollBase {
private boolean mHasPassword;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.fingerprint_enroll_introduction);
setHeaderText(R.string.security_settings_fingerprint_enroll_introduction_title);
findViewById(R.id.cancel_button).setOnClickListener(this);
findViewById(R.id.learn_more_button).setOnClickListener(this);
final int passwordQuality = new ChooseLockSettingsHelper(this).utils()
.getActivePasswordQuality(UserHandle.myUserId());
mHasPassword = passwordQuality != DevicePolicyManager.PASSWORD_QUALITY_UNSPECIFIED;
}
@Override
protected void onNextButtonClick() {
Intent intent = new Intent();
final String clazz;
if (!mHasPassword) {
clazz = FingerprintEnrollOnboard.class.getName();
} else {
clazz = FingerprintEnrollFindSensor.class.getName();
}
intent.setClassName("com.android.settings", clazz);
startActivityForResult(intent, 0);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode == RESULT_FINISHED) {
finish();
} else {
super.onActivityResult(requestCode, resultCode, data);
}
}
@Override
public void onClick(View v) {
if (v.getId() == R.id.cancel_button) {
finish();
}
if (v.getId() == R.id.learn_more_button) {
launchFingerprintHelp();
}
super.onClick(v);
}
private void launchFingerprintHelp() {
Intent helpIntent = HelpUtils.getHelpIntent(this,
getString(R.string.help_url_fingerprint), getClass().getName());
startActivity(helpIntent);
}
}
Goodluck!