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
- Android Developers: Ekran Görüntüsü Alma
- Android Developers: MediaProjection Sınıfı
- Android Developers: SurfaceControl Sınıfı