mohsen.hex
یک شنبه 14 خرداد 1396, 13:35 عصر
سلام
من میخام از صفحه نمایش اسکرین شات بگیرم و کد های زیر رو پیدا کردم
private void takeScreenshot() { Date now = new Date(); android.text.format.DateFormat.format("yyyy-MM-dd_hh:mm:ss", now);
try {
// image naming and path to include sd card appending name you choose for file
String mPath = Environment.getExternalStorageDirectory().toString () + "/" + now + ".jpg";
// create bitmap <span class="highlight">screen</span> <span class="highlight">capture</span>
View v1 = getWindow().getDecorView().getRootView();
v1.setDrawingCacheEnabled(true);
Bitmap bitmap = Bitmap.createBitmap(v1.getDrawingCache());
v1.setDrawingCacheEnabled(false);
File imageFile = new File(mPath);
FileOutputStream outputStream = new FileOutputStream(imageFile);
int quality = 100;
bitmap.compress(Bitmap.CompressFormat.JPEG, quality, outputStream);
outputStream.flush();
outputStream.close();
openScreenshot(imageFile);
} catch (Throwable e) {
// Several error may come out with file handling or OOM
e.printStackTrace();
} }
ولی متاسفانه برنامه خطا میگیره
java.lang.NullPointerException
و این خطا را برای خط میگیرد
Bitmap bitmap = Bitmap.createBitmap(v1.getDrawingCache());
ایراد چیست؟؟
من میخام از صفحه نمایش اسکرین شات بگیرم و کد های زیر رو پیدا کردم
private void takeScreenshot() { Date now = new Date(); android.text.format.DateFormat.format("yyyy-MM-dd_hh:mm:ss", now);
try {
// image naming and path to include sd card appending name you choose for file
String mPath = Environment.getExternalStorageDirectory().toString () + "/" + now + ".jpg";
// create bitmap <span class="highlight">screen</span> <span class="highlight">capture</span>
View v1 = getWindow().getDecorView().getRootView();
v1.setDrawingCacheEnabled(true);
Bitmap bitmap = Bitmap.createBitmap(v1.getDrawingCache());
v1.setDrawingCacheEnabled(false);
File imageFile = new File(mPath);
FileOutputStream outputStream = new FileOutputStream(imageFile);
int quality = 100;
bitmap.compress(Bitmap.CompressFormat.JPEG, quality, outputStream);
outputStream.flush();
outputStream.close();
openScreenshot(imageFile);
} catch (Throwable e) {
// Several error may come out with file handling or OOM
e.printStackTrace();
} }
ولی متاسفانه برنامه خطا میگیره
java.lang.NullPointerException
و این خطا را برای خط میگیرد
Bitmap bitmap = Bitmap.createBitmap(v1.getDrawingCache());
ایراد چیست؟؟