Ich entwickle eine Sicherheitsanwendung, wobei, wenn ein Benutzer eine Telefonnummer wählt, die nicht häufig angerufen wird und er nie zuvor aufgerufen hat, der Benutzer sich erneut authentifizieren muss. Zu diesem Zweck möchte ich das Telefon nach Überprüfung der Telefonnummer sperren.Sperren Android Phone, nachdem der Benutzer eine Telefonnummer wählt
public class outgoingCalls extends BroadcastReceiver {
public void onReceive(Context context, Intent intent) {
Log.v("onReceive", "In onReceive()");
if (confidence == 0) {
Log.v("onReceive","confidence zeroed");
Intent i = new Intent();
i.setClassName("abc.xyz.SECURITY","abc.xyz.SECURITY.lockActivity");
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(i);
}
}
In dieser neuen Aktivität lockActivity, ich brauche das Telefon zu sperren, wo ich // SPERREN
public class lockActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Log.v("lock","lockActivity onCreate method called");
// setContentView(R.layout.main);
Log.v("lock","locking");
// LOCK PHONE
}
}
Das Telefon mit den Methoden immer gesperrt ist nicht Ich habe versucht, kommentiert haben. Dazu gehören die folgenden:
1. KeyguardManager mgr = (KeyguardManager) getSystemService(Activity.KEYGUARD_SERVICE);
KeyguardLock lock = mgr.newKeyguardLock("edu.Boston.SECURITY.lockActivity");
((KeyguardLock) lock).reenableKeyguard();
2. PowerManager manager = (PowerManager) getSystemService(Context.POWER_SERVICE);
manager.goToSleep(100);//int amountOfTime
3. PowerManager.WakeLock wl = manager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "Tag");
wl.acquire();
wl.release();
4. WindowManager.LayoutParams params = getWindow().getAttributes();
params.screenBrightness = 0;
getWindow().setAttributes(params);
Android-Manifest-Datei hat unter Berechtigungen
<uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS" />
<uses-permission android:name="android.permission.READ_CONTACTS"/>
<uses-permission android:name="android.permission.DISABLE_KEYGUARD"/>
<uses-permission android:name="android.permission.WAKE_LOCK" />
Warum bin ich nicht in der Lage, das Telefon zu sperren? Irgendwelche Zeiger? Vielen Dank im Voraus für Ihre Hilfe. Bin dankbar!
http://stackoverflow.com/questions/3820307/how-to-terminate-a-call-programmatically -under-android - Jemand hat angegeben, dass es nicht möglich ist, laufende Anrufe zu beenden. Ist das wahr ? Könnte das der Grund sein, dass ich das Gerät nicht sperren oder den Anruf beenden kann? – user1773209
können wir den gewählten Anruf mit ** setResultData (null) ** beenden. –
Ist das die "nicht Ihren Ex-Betrunkenen anrufen" App? : D – Shark