نمایش نتایج 1 تا 2 از 2

نام تاپیک: اسکرین شات گرفتن از صفحه فعلی

  1. #1

    Question اسکرین شات گرفتن از صفحه فعلی

    سلام دوستان. من یک تایمر async دارم که هر 5 دقیفه باید اسکرین شات بگیره .
    اسکرین شات را میگیره ولی حتی اگر اکتیویتی یا app ما در بکرگاند باشه و کار دیگه ای با گوشی بکنیم باز هم اسکرین شات همون activity ما را میگیره

    من از getwindows() , rootview() استفاده کردم و بقیه ماجرا که بیت مپ میکنیم و الی آخر.

    من باید چه کار کنم که بدون shell و نیاز به روت بودن گوشی بشه از هرچی در حال حاضر در اسکرین هست عکس گرفت .

  2. #2

    Post نقل قول: اسکرین شات گرفتن از صفحه فعلی

    سلام این نمونه کدی که گذاشتن بدردتون میخوره:
    ایتدا این دسترسی رو باید فعال کرده باشد (چون کد براتون اسکرین شات رو ذخیره میکنه روی sd کارت):


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


    بعد تو اکتیویتی خودتون اینو اضافه کنید:
    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 screen capture
    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 DOM
    e.printStackTrace();
    }
    }


    و به این صورت می توانید تصویری که اخیراً تولید شده را باز کنید:

    private void openScreenshot(File imageFile) {
    Intent intent = new Intent();
    intent.setAction(Intent.ACTION_VIEW);
    Uri uri = Uri.fromFile(imageFile);
    intent.setDataAndType(uri, "image/*");
    startActivity(intent);
    }

برچسب های این تاپیک

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •