2017-10-25 11 views
0

私はFalcon Android Screenshot libraryを使用して、プログラムによるスクリーンショットをプログラムで取得しています。ライブラリは、アクティビティやダイアログをキャプチャする際の魅力のように機能しますが、コンテキストメニューや着信音の嗜好をキャプチャすることはできません。ウィンドウマネージャ、ウィンドウ、電話ウィンドウ、デコレーションビューのプロパティを取得しようとしましたが、運はありません。画面キャプチャプログラムでAndroidのコンテンツメニューや着信音の設定部分で機能しない

観測: 1:着信音プリファレンスは、アプリケーションウィンドウマネージャー - 'mRoots'または 'mViews'に追加されません。 2:CheckBoxPreferenceとListPreferenceでうまく動作します。 2:アクティブな画面のルートレイアウト 'mView'に変更はありません。 3:デコレーションビューの 'mActionModePopup'と 'mActionModeView'を読み込もうとしました。しかし、この時点でアプリがハングアップします。

enter image description here

enter image description here

感謝。

+0

はなぜuは、デフォルトの画面キャプチャを使用していけないのですか? –

+0

デフォルトの画面キャプチャ方法は何ですか? –

答えて

0

まず、現在の活動からのルートビューを取得:

View rootView = getWindow().getDecorView().findViewById(android.R.id.content); 
Second, capture the root view: 

はその後、ビットマップ、

public static Bitmap getScreenShot(View view) { 
     View screenView = view.getRootView(); 
     screenView.setDrawingCacheEnabled(true); 
     Bitmap bitmap = Bitmap.createBitmap(screenView.getDrawingCache()); 
     screenView.setDrawingCacheEnabled(false); 
     return bitmap; 
} 
+0

私は私のプロジェクトで上記のコードを使用しました。ただし、コンテキストメニューが表示されてもルートビューに変更はありません。ポップアップウィンドウが表示されます。私の観察を見てください。ありがとう。 –

関連する問題