7

最初は、ここで質問するのは適切ではないように思えるかもしれませんが、自分のアプリでしかこの問題に気付いていないので、他に質問する場所はないと思います。何か間違ったことをしているのかもしれませんが、何の手がかりがありません...

ご存じのとおり、ICS では、 を押して画面のスクリーンショットを撮ることができますPower + VolumeDown。私は HTC One X を所有しており、ショートカットはPower + Home. これで何かが変わるかどうかはわかりません (Galaxy Nexus を持っている人なら試してみることができるかもしれません)。

私自身のアプリ、通知アジェンダ (リンクしないので、スパムなどで告発されることはありませんが、アプリの原因を自己宣伝せずにこの質問を投稿することはできません) は許可しません。 One X で上記のキーの組み合わせを使用してスクリーンショットを撮ります。他のアプリのスクリーンショットを撮ることはできますが、自分では機能しません...

これを「無効にする」ために私が何をしていると思いますか?私のアプリは非常にシンプルで、これが起こるためにはあまり進んでいません。何か案は?

アプリのスクリーンショットを撮ろうとするたびに、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)

スクリーンショットが機能する場合、それは起こりません。代わりに、スクリーンショット アプリへの他の一連の呼び出しと、他の多くのことがログに記録されます。

アプリがスクリーンショットを妨げ、上記のエラーを生成するのはなぜですか?

4

3 に答える 3

0

スクリーンショットを撮るアプリ(あなたが話しているキーの組み合わせに反応するアプリ)がシステムアプリとして登録されているかどうかを確認します。Android は設計上、アプリがフレーム バッファを共有するのを停止するため、スクリーンショットを撮ろうとするアプリは実行できません。

そのアプリの動作と設計をさらに掘り下げます。

于 2012-10-05T17:19:21.790 に答える
0

私も同じ問題を抱えていました。Eclipse の DDMS パースペクティブを使用してスクリーンショットを撮ることができます。アプリを実行し、DDMS パースペクティブに入り、[デバイス] タブのカメラ アイコンをクリックするだけです。

于 2013-06-25T21:24:24.223 に答える