Android Api Level 28 Take Screenshot

Android API Seviyesi 28’de Ekran Görüntüsü Alma

Android API seviyesi 28’de ekran görüntüsü almak için kullanabileceğiniz birkaç farklı yol vardır. En yaygın yöntem, View.capture() yöntemini kullanmaktır. Bu yöntem, görünümün bir bitmap’ini döndürür. Ardından, bitmap’i bir dosyaya kaydedebilir veya bir görüntü görüntüleyicide görüntüleyebilirsiniz.

Ekran görüntüsü almak için kullanabileceğiniz bir diğer yöntem ise MediaProjection sınıfını kullanmaktır. Bu sınıf, ekran içeriğine erişmenizi ve ekran görüntülerini almanızı sağlar. MediaProjection sınıfını kullanmak için öncelikle bir MediaProjectionManager nesnesi oluşturmanız gerekir. Ardından, MediaProjectionManager nesnesinin createProjection() yöntemini kullanarak bir MediaProjection nesnesi oluşturmanız gerekir. Son olarak, MediaProjection nesnesinin captureScreenshot() yöntemini kullanarak ekran görüntüsü alabilirsiniz.

Ekran görüntüsü almak için kullanabileceğiniz üçüncü bir yöntem ise SurfaceControl sınıfını kullanmaktır. Bu sınıf, ekran içeriğini kontrol etmenizi sağlar. SurfaceControl sınıfını kullanmak için öncelikle bir Surface nesnesi oluşturmanız gerekir. Ardından, Surface nesnesinin screenshot() yöntemini kullanarak ekran görüntüsü alabilirsiniz.

Ekran Görüntüsü Alma Örneği

Aşağıdaki örnek, View.capture() yöntemini kullanarak ekran görüntüsü nasıl alınacağını göstermektedir:

java
View view = findViewById(R.id.my_view);
Bitmap bitmap = view.capture();

Aşağıdaki örnek, MediaProjection sınıfını kullanarak ekran görüntüsü nasıl alınacağını göstermektedir:

java
MediaProjectionManager mediaProjectionManager = (MediaProjectionManager) getSystemService(Context.MEDIA_PROJECTION_SERVICE);
Intent intent = mediaProjectionManager.createScreenCaptureIntent();
startActivityForResult(intent, REQUEST_CODE_SCREEN_CAPTURE);

Aşağıdaki örnek, SurfaceControl sınıfını kullanarak ekran görüntüsü nasıl alınacağını göstermektedir:

java
SurfaceControl surfaceControl = new SurfaceControl();
Surface surface = new Surface(surfaceControl);
Bitmap bitmap = surface.screenshot();

Faydalı Siteler ve İlgili Dosyalar


Yayımlandı