2017-05-29 10 views
0

現在、私はデバイス画面からスクリーンショットを撮る予定のアプリに取り組んでいます。Androidスクリーンショットライブラリの埋め込み

私は約Android Screenshot Libraryを読んで、非常に有望ですね。

私のアプリで使用したいです。問題は、自分のプロジェクトに埋め込むのが難しいことです。

appモジュール内のlibsディレクトリにプロジェクトフォルダ(asl-1.2)をインポートしようとしました。

私はthis投稿に続きますが、それでも私を助けません。

問題は、プロジェクトが私のappモジュールにリンクされていないため、ライブラリにあるクラスを使用できないことです。

https://i.gyazo.com/f496e790d5ab06fc4c785df77e0984bd.png

あなたが見ることができるように、ScreenshotService.javaファイルは文字「J」

答えて

0

私はAndroidのスクリーンショット図書館について読み、それは非常に有望ですね。

このコードはで更新されていません。です。 AFAIKでは、ユーザーにはUSBケーブルとAndroid SDKがインストールされている必要があります(開発ツールに依存しているため)。

Android 5.0以降では、メディアプロジェクションAPIを使用してスクリーンショットを撮ることができます。

私はアプリケーションモジュール内の自分のlibsディレクトリにプロジェクトフォルダ(asl-1.2)をインポートしようとしました。

これはうまくいきません。 libs/は、従来のJavaコードなどの裸のJARファイル用です。

appモジュールにコンテンツを直接マージするか、そのコードに対してa separate library moduleを設定してください。おそらく、そのコードは、Androidスタジオと現代のNDKによって構築されるために、大幅な再編成を必要とするでしょう。

または、このコードを使用しないでください。このIMHOが最善の答えです。

+0

ありがとうございました:) アプリが表示されなくても、自分のアプリが画面をキャプチャできるようにします。あなたはこのライブラリについて何を言ったかを考慮して、どうすればいいですか? –

+0

@DavidLasry:私が書いたように、Android 5.0以降のメディアプロジェクションAPIを使用してください。 [このサンプルアプリケーション](https:// github。com/commonsguy/cw-omnibus/tree/master/MediaProjection/andshooter)。古いデバイスでこれを行う方法はありません。 – CommonsWare

0

必要性とは何であると赤いアイコンでマークされています。ここでは

は、プロジェクト階層のスクリーンショットですのスクリーンショットを取るためのライブラリの?任意のビューのビットマップを取得するには、次の関数関数を使用します。

public Bitmap getBitmapFromView(View view) { 
    Bitmap returnedBitmap = Bitmap.createBitmap(view.getWidth(), view.getHeight(), Bitmap.Config.ARGB_8888); 
     Canvas canvas = new Canvas(returnedBitmap); 
    Drawable bgDrawable =view.getBackground(); 
    if (bgDrawable!=null) 
     bgDrawable.draw(canvas); 
    else 
     canvas.drawColor(Color.WHITE); 
    view.draw(canvas); 
return returnedBitmap; 
} 
+1

現在のところ、現在のアクティビティの「表示」の「スクリーンショット」が必要です。前述のライブラリーは、それが機能する限り、第三者の活動を含め、スクリーン上にあったスクリーンショットを撮ることができました。 – CommonsWare

+0

@CommonsWareそのライブラリについて知りませんでした! –