2015-07-01 2 views
9

in der neuen Android M Build, die Batterie-Optimierung-Funktion wird die App unter bestimmten Bedingungen zu speichern Batterie zu speichern, aber für die VOIP Apps, die ständig am Leben bleiben müssen, dies Feature verursachen Probleme für den Entwickler.Set spezifische App zu ignorieren Optimierung durch Code in Android M

Gegenwärtig gibt es eine Möglichkeit, die Optimierung zu umgehen, bei der die App Optimierungen ignoriert, aber zu viele Schritte müssen durchgeführt werden.

Meine Frage ist, gibt es eine Möglichkeit zu springen, um die Optimierungsseite der spezifischen App zu ignorieren, und wie kann ich wissen, ob meine App von der Optimierung ausgeschlossen ist?

+0

Das gleiche für meine App .. Irgendwelche Updates dazu? – Rupali

+0

Sie brauchen nicht ständig am Leben zu bleiben, können Sie einfach eine hohe Priorität GCM senden, wenn Sie Dinge tun müssen http://stackoverflow.com/questions/31315057/android-m-how-to-send-a -high-priority-gcm – Budius

+0

das gleiche Problem hier – Ahmed

Antwort

4

WARNUNG: Es scheint, dass Google Apps im Play Store dies nicht zulässt. Siehe die Kommentare unten.

Basierend auf der AndroidManifest.xml, die aus Settings.apk im MPA44I-Build extrahiert wurde, könnte es so aussehen, als könnten Sie das tun, was Sie wollen.

Von XML:

<intent 
    android:action="android.settings.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS" 
    android:targetPackage="com.android.settings" 
    android:data="package:PUT_YOUR_PACKAGE_NAME_HERE" /> 

Von Code:

try { 
    Intent intent = new Intent(android.provider.Settings.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS); 
    intent.setData(Uri.parse("package:PUT_YOUR_PACKAGE_NAME_HERE")); 
    startActivity(intent); 

} catch (ActivityNotFoundException e) { 
    e.printStackTrace(); 
} 

Bitte beachte, dass ich keine Zeit hatte, das selbst in der Praxis zu überprüfen, aber der Ansatz ist der gleiche wie ich in einem meiner verwenden Apps, um appspezifische Einstellungsmenüs zu starten. Trotzdem hoffe ich, dass es hilft.

+2

Seien Sie vorsichtig damit - meine App wurde gerade von Google Play ohne vorherige Ankündigung für die Anforderung von "REQUEST_IGNORE_BATTERY_OPTIMIZATIONS" suspendiert, obwohl die App von Batterieoptimierungen befreit ist entscheidend für die Funktion meiner App, und ich kann GCM aus technischen Gründen nicht verwenden. –

+0

@EladNava Tut mir leid das zu hören. Ich hoffe, du hast es gelöst. Ich werde eine Warnung in meine Antwort oben einfügen. – blunden

+0

@EladNava Truecaller App erscheint diese "Ignore Battery Optimizations?" Aufforderung und sie sind bei Google Play. (WARUM?) – Pawan

0

Google diese basieren zulassen auf einige Bedingungen überprüfen Abschnitt "Unterstützung für andere Use Cases"

here

Überprüfen Sie auch White List Conditions