0

誰かがこれを手伝ってくれます。私はキャンバスなしでフルスクリーンをキャプチャしようとしましたが、毎回黒い画面の画像が表示されます。私が見つけたもう1つの興味深い点は、その画像を携帯電話で開いて削除すると、画像を含む別の画面が表示されることです。私はAndroidアプリの開発に慣れていないので、どうして起こったのかわかりません。

誰かが私がこれに対する解決策を見つけるのを手伝ってくれますか?

4

1 に答える 1

2

ここSOで簡単に検索すると、受け入れられた回答があるこれが得られました。あなたはそれを見たいと思うかもしれません。SO ソース: スクリーンショットを撮る

引用:

このようにできます。

メインレイアウトのIDを指定し、画面にコンテンツを表示した後、リスナーと言うボタンクリックまたはメニュー項目またはそのようなリスナーに以下のコードを記述します(レイアウトが表示された後にこれらの行を呼び出すようにしてください。空白の画面)。

    View content = findViewById(R.id.myLayout);
    content.setDrawingCacheEnabled(true);
    getScreen(content);
    method getScreen(content)

    private void getScreen(View content)
        {
            Bitmap bitmap = content.getDrawingCache();
            File file = new File("/sdcard/test.png");
            try 
            {
                file.createNewFile();
                FileOutputStream ostream = new FileOutputStream(file);
                bitmap.compress(CompressFormat.PNG, 100, ostream);
                ostream.close();
            } 
            catch (Exception e) 
            {
                e.printStackTrace();
            }
        }

また、SDCard にファイルを書き込む権限を追加しないでください。

    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE">
                                                                   </uses-permission>
于 2012-06-19T13:12:09.963 に答える