0

ボタンを押して SU を取得するプログラムを実行しましたが、png ファイルの重量は 0 バイトです。ログキャット 言う

許可が拒否されました: フレームバッファ pid=12844 uid=10087 を読み取ることができません。

では、なぜそうなのか。私の電話はルート化されており、プログラムはすでに su を取得しています。どうしたの?

Button btn = (Button) findViewById(R.id.button1);
        btn.setOnClickListener (new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                try {
                    Process process = Runtime.getRuntime().exec("su");
                    Process pr = Runtime.getRuntime().exec("/system/bin/screencap -p /sdcard/s.png");
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }
        });
4

2 に答える 2

2

これを使用する必要があります。サポートが向上するはずです。

@Override
public void onCLick(View v)
 try{
    Process process = Runtime.getRuntime().exec("su");
    DataOutputStream os = new DataOutputStream(process.getOutputStream());

    os.writeBytes("/system/bin/screencap -p /sdcard/s.png\n");
    os.writeBytes("exit\n");
    os.flush();
    os.close();

    process.waitFor();
 } catch (Exception e){
 };
};
于 2013-03-16T22:33:17.460 に答える
0

これを試して:

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            try {
                Runtime.getRuntime().exec("su -c /system/bin/screencap -p /sdcard/s.png");
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    });
于 2013-03-16T22:11:41.517 に答える