2017-09-27 5 views
0

J'ai essayé arrêt avec ceComment Arrêt de l'appareil Android en C# Xamarin

Java.Lang.Runtime.GetRuntime().Exec(new String[] { "/system/xbin/su", "-c", "shutdown" }); 

et ce

Intent i = new Intent("android.intent.action.ACTION_REQUEST_SHUTDOWN"); 
i.PutExtra("android.intent.extra.KEY_CONFIRM", true); 
StartActivity(i); 
+0

Avez-vous ajouté les autorisations dans le fichier manifeste? –

+0

Cela devrait être installé comme une application système ou vous auriez besoin d'un téléphone enraciné. – SushiHangover

+0

Mon téléphone est enraciné –

Répondre

0

tous Remercions, je l'ai lu dans un autre poste

-je utiliser ce pour l'arrêt imediatly

Java.Lang.Runtime.GetRuntime().Exec(new String[] { "/system/xbin/su", "-c", "reboot -p" }); 
1

La raison pour laquelle il ne fonctionne pas est que Runtime.getRuntime() ne fonctionne que sur Dispositifs enracinés.

Le deuxième code fonctionnerait mais pas dans tous les cas. Vous souhaiterez peut-être ajouter l'autorisation Arrêt, que vous pouvez lire here. Encore une fois pour ce cas, une application normale ne peut pas demander cette autorisation et vous devez être une application au niveau du système.

+0

Merci, mais mon appareil est enraciné. Je vais essayer d'ajouter une permission Shutdown sur mon application. –

+1

Dans Xamarin, je dois utiliser [IntentFilter (new [] {Intent.ActionShutdown})] pour la permission –