Auf den ersten Blick scheint dies vielleicht nicht der richtige Ort zu sein, um diese Frage zu stellen... Aber da ich dieses Problem nur bei meiner eigenen Anwendung bemerkt habe, gibt es wohl keinen anderen Ort, um diese Frage zu stellen. Vielleicht mache ich etwas falsch, aber ich habe keine Ahnung, was...
Wie Sie wahrscheinlich wissen, können Sie mit ICS einen Screenshot des Bildschirms machen, indem Sie Power + VolumeDown
. Ich besitze ein HTC One X und die Abkürzung lautet Power + Home
. Ich weiß nicht, ob das etwas ändert (vielleicht kann jemand mit einem Galaxy Nexus es ausprobieren).
Meine eigene App, Notification Agenda (ich werde sie nicht verlinken, damit ich nicht des SPAMs oder etwas Ähnlichem beschuldigt werde, aber es gibt wirklich keine Möglichkeit, diese Frage zu posten, ohne Eigenwerbung für meine App zu machen), erlaubt mir nicht, mit der oben genannten Tastenkombination Screenshots mit meinem One X zu machen. Ich kann Screenshots von jeder anderen App machen, aber es funktioniert nicht mit meiner eigenen...
Was zum Teufel denken Sie, dass ich dies "deaktivieren" muss? Meine App ist sehr einfach und es gibt nicht viel los für diese zu passieren. Irgendwelche Ideen?
Jedes Mal, wenn ich versuche, einen Screenshot von meiner Anwendung zu machen, erhalte ich dies in logcat:
08-24 00:15:40.570: E/InputManager-JNI(277): An exception was thrown by callback 'interceptKeyBeforeDispatching'.
08-24 00:15:40.570: E/InputManager-JNI(277): java.lang.StringIndexOutOfBoundsException: length=83; regionStart=-1; regionLength=83
08-24 00:15:40.570: E/InputManager-JNI(277): at java.lang.String.startEndAndLength(String.java:593)
08-24 00:15:40.570: E/InputManager-JNI(277): at java.lang.String.substring(String.java:1474)
08-24 00:15:40.570: E/InputManager-JNI(277): at com.android.internal.policy.impl.PhoneWindowManager.interceptKeyBeforeDispatching(PhoneWindowManager.java:2375)
08-24 00:15:40.570: E/InputManager-JNI(277): at com.android.server.wm.InputMonitor.interceptKeyBeforeDispatching(InputMonitor.java:307)
08-24 00:15:40.570: E/InputManager-JNI(277): at com.android.server.wm.InputManager$Callbacks.interceptKeyBeforeDispatching(InputManager.java:663)
08-24 00:15:40.570: E/InputManager-JNI(277): at dalvik.system.NativeStart.run(Native Method)
Das passiert nicht, wenn der Screenshot funktioniert. Stattdessen werden eine Reihe anderer Aufrufe an die Screenshot-App und viele andere Dinge protokolliert.
Warum verhindert meine Anwendung den Screenshot und erzeugt den obigen Fehler?