non conosco il codice in saveImageToAppFolder è quello, ma si può provare questo:
Nota: è necessario impostare lo sfondo della vostra app/attività a trasparente (100%).
//your code below is extractly
View view = getWindow().getDecorView().getRootView();
view.setDrawingCacheEnabled(true);
Bitmap bitmap = Bitmap.createBitmap(view.getDrawingCache());
view.setDrawingCacheEnabled(false);
//try my code for save image file to storage
File imgFile = new File(imgPath);
FileOutputStream os = new FileOutputStream(imageFile);
int imgQuality = 100;
bitmap.compress(Bitmap.CompressFormat.JPEG, imgQuality , os);
os.flush();
os.close();
codice per impostare lo sfondo trasparente:
// prima: creare tema xml sotto per trasparente
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="Theme.Transparent" parent="android:Theme">
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowIsFloating">true</item>
<item name="android:backgroundDimEnabled">false</item>
</style>
</resources>
dopo impostato in questo modo:
<activity android:name=".SampleActivity" android:theme="@style/Theme.Transparent">
</activity>
nota: può più rosso dettagli da qui url: How do I create a transparent Activity on Android?
È necessario disporre dei permessi di root per quello – insomniac
Naturalmente, lo so. Ma come posso ottenere il permesso di root? – Dima
Solo se hai il tuo dispositivo rootato, vuoi sapere come fare lo screenshot usando root? – insomniac