Ich kann meine Funktion auf den Klick einer Schaltfläche ohne Probleme wie diese aufrufen und es funktioniert, wischt auch Daten.So rufen Sie eine Methode von einem Dienst auf?
public class MainActivity extends Activity implements OnCheckedChangeListener {
DevicePolicyManager devicePolicyManager;
public void resetdevice(View view) {
Toast.makeText(context, "resetttt", Toast.LENGTH_LONG).show();
// We reset the device - this will erase entire /data partition!
Log.d(TAG,
"RESETing device now - all user data will be ERASED to factory settings");
devicePolicyManager.wipeData(ACTIVATION_REQUEST);
}
aber, um diese Methode von einem anderen Dienst aufzurufen, muss ich einige Änderungen vornehmen.
public class MainActivity extends Activity implements OnCheckedChangeListener {
static DevicePolicyManager devicePolicyManager;
und meine Methode
public static void resetdevice(Context context) {
Toast.makeText(context, "resetttt", Toast.LENGTH_LONG).show();
// We reset the device - this will erase entire /data partition!
Log.d(TAG,
"RESETing device now - all user data will be ERASED to factory settings");
devicePolicyManager.wipeData(ACTIVATION_REQUEST);
}
hier ist, wie ich es nenne
MainActivity.resetdevice(context);
das Problem ist, wenn es von meinem Kundendienst anrufen, es zeigt nur, Toast und nicht Führe den Rest des Codes aus.
Haben Sie überprüft, ob eine Ausnahme ausgelöst wird? –
Ich denke, diese Zeile verursacht ein Problem - static DevicePolicyManager devicePolicyManager; – abbie
Sie müssen 'DevicePolicyManager' nicht initialisieren, um' wipeData' Methode zu verwenden? Ich bin damit nicht so vertraut. –