آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

گرفتن Screen Shot از گوشی در فواصل زمانی بصورت سرویس

Criss  12 سال پیش  11 سال پیش
+1 0

با سلام و خسته نباشید

چطور میشه برنامه ایی بسازیم که از اینترفیس دیوایس ما بصورت خودکار مثلا هر 2 ثانیه اسکرین شات بگیره ؟ حتی زمانی که از برنامه خارج میشیم و وقتی به برنامه برمیگردیم بتونیم اسکرین شات هارو متوقف کنیم؟

و اینکه علاوه بر گرفتم اسکرین شات بشه تصور رو با بهترین کیفیت یا با کمترین حجم ذخیره کرد؟

0 0
لینک (12 سال پیش)
 برای این سوال 4 پاسخ وجود دارد.
پاسخ به سوال 
Hajhosseini  12 سال پیش
+1 0

در فصل 20 آموزش ها روش انجام اینکار و خیلی چیزای دیگه آموزش داده شده

0 0
متاسفانه توی فصل 21 راجب این موضوع صحبتی نشده ! (12 سال پیش)
پاسخ به سوال 
uncocoder  12 سال پیش
+5 0

گرفتن ScreenShot از گوشی کار ساده ای هست، همانطور که دوست شما لینکی ارائه داد قابل انجام است.

اما ساده بودن این کار به معنی کم پردازش بودن آن نیست. در واقع هر بار عکس گرفتن، فشار زیادی به منابع سخت افزاری گوشی وارد می کند که باعث کند شدن سرعت گوشی خواهد شد. اگر این تصویر برداری، هر از چند گاهی باشد، یک تیک در گوشی احساس می شود و نرم بودن گوشی زیر سئوال می رود.

بنابراین توصیه اکید است که تا جاییکه می توانید از این قابلیت فقط در نرم افزار و نه به عنوان سرویس استفاده کنید.

پاسخ به سوال 
Criss  12 سال پیش
+1 0

سلام دوستان من از این کد برای گرفتن اسکرین شات از صفحه گوشی استفاده کردم
اما برنامه کرش میکنه!
اگر ممکنه راهنمایی کنید<
توی Logcat هیچ ارروی به اسم اپلیکیشن وجود نداره !

 برای permision هم از

 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

استفاده کردم.

 package com.screen.capture.criss;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import android.app.Activity;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.os.Environment;
import android.view.View;


public class ScreenCaptureActivity extends Activity {

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

// image naming and path to include sd card appending name you choose for file
String mPath = Environment.getExternalStorageDirectory().toString() + "sdcard/media/cap.JPEG";

// create bitmap screen capture
Bitmap bitmap;
View mCurrentUrlMask = null;
View v1 = mCurrentUrlMask.getRootView();
v1.setDrawingCacheEnabled(true);
bitmap = Bitmap.createBitmap(v1.getDrawingCache());
v1.setDrawingCacheEnabled(false);

OutputStream fout = null;
File imageFile = new File(mPath);

try {
fout = new FileOutputStream(imageFile);
bitmap.compress(Bitmap.CompressFormat.JPEG, 90, fout);
fout.flush();
fout.close();

}
catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
+1 0
سلام اقا به نتیجه رسیدین؟ اخرش خلاصه؟ دی: من با قسمت مموری کاردش مشکل دارم اگر بخوام رو خود گوشی و تو خود گلری سیو کنم چه باید بکنم؟! (11 سال پیش)
0 0
کدی که شما نوشتی بصورت سرویس هست؟ برای ذخیره در خود مموری از پست که قبلا در زیر گذاشتم استفاده کنید (11 سال پیش)
پاسخ به سوال 
Criss  12 سال پیش
0 0

با سلام مجدد

کلی سرچ کردم و با استفاده از اموزشی که توی سایت زیر داده شده تونستم از دیوایس اسکرین شات بگیرم !اما این اسکرین روی بک گراند اپلیکیشن به نمایش در میاد و سیو نمیشه !

ادرس سایت


پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .