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

AnswerCenter

مرکز پاسخگویی به سوالات برنامه نویسی

  • مرجع پاسخگویی
  • تولید آموزش
  • سفارش پروژه

درخواست سفارش پروژه

اطلاعیه

کاربر گرامی

به انجمن برنامه نویسی AnswerCenter.ir خوش آمدید

 برای استفاده از تمامی امکانات سایت لطفا در انجمن عضو شوید


  • 0
Crashday

تشخیص گرفته شدن اسکرین شات در برنامه

سوال

Crashday    46

کاربر رو به رشد

سلام،

وقت بخیر،

 

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

ممنون میشم در حد توان راهنمایی کنید.

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

8 پاسخ به این سوال تا کنون داده شده است

پست های پیشنهاد شده

  • 0
basic 4 android    72

کاربر عادی

در 4 ساعت قبل، Crashday گفته است :

سلام،

وقت بخیر،

 

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

ممنون میشم در حد توان راهنمایی کنید.

#If Java
import android.content.Context;
import android.view.WindowManager.*;
public void _onCreate() {
this.getWindow().setFlags(LayoutParams.FLAG_SECURE, LayoutParams.FLAG_SECURE);
}
#End If
Dim r As Reflector
Dim j As JavaObject
j.InitializeContext.RunMethod("DisableScreenShot",Array As Object(r.GetActivity))

 

 

این نمیزاره شات بگیره

  • پسندیدن 1

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
  • 0
محمدرضا شاهپیری    3,409

معاون انجمن

در 54 دقیقه قبل، Crashday گفته است :

 

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

#If Java
import android.content.Context;
import android.view.WindowManager.*;
public void DisableScreenShot() {
this.getWindow().setFlags(LayoutParams.FLAG_SECURE, LayoutParams.FLAG_SECURE);
}
#End If

 

  • پسندیدن 2

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
  • 0
Crashday    46

کاربر رو به رشد

در 1 ساعت قبل، محمدرضا شاهپیری گفته است :

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


#If Java
import android.content.Context;
import android.view.WindowManager.*;
public void DisableScreenShot() {
this.getWindow().setFlags(LayoutParams.FLAG_SECURE, LayoutParams.FLAG_SECURE);
}
#End If

 

 

ممنون از راهنماییت اما باز هم ارور میده:

سورس رو هم پیوست کردم.

 

err.png.6efa148595ec744d5283864ccb60b378.png

disable screnshot.zip

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
  • 0
Crashday    46

کاربر رو به رشد

در 12 دقیقه قبل، محمدرضا شاهپیری گفته است :

به صورت زیر تغییر بدین


j.InitializeContext.RunMethod("DisableScreenShot",null)

 

این دفه ارور نداد و اجرا شد اما براحتی اسکرین شات گرفته شد از صفحه.

تست شده روی گوشی سامسونگ با اندروید 5.0.2

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
  • 0
m007moh    179

کاربر رو به رشد

در 22 ساعت قبل، Crashday گفته است :

سلام،

وقت بخیر،

 

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

ممنون میشم در حد توان راهنمایی کنید.

 

سلام این کد رو هم یه تست کن ببین جواب میده من خودم تاحالا تست نکردم 

جلوگیری از گرفته شدن اسکرین شات (ScreenShot) در اکتیویتی شما

با قرار دادن این کد در Activity_create اکتیویتی موردنظرتون دیگه کاربر قادر به گرفتن اسکرین شات با گوشیش ازاون اکتیویتی نیست.

اگر درست کار کرد اعلام کنید تا شاید واسه کسی دیگه هم مفید باشه

 


Dim jo As JavaObject
jo.InitializeContext
jo.RunMethodJo(“getWindow”,Null).RunMethod("setFlags",Array(8192, 8192))

 

  • پسندیدن 1

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
  • 0
محمدرضا شاهپیری    3,409

معاون انجمن

در 56 دقیقه قبل، Crashday گفته است :

 

ببخشید من اصلا حواسم به سوال نبود. شما اصلا به کتابخونه javaobject احتیاج ندارین فقط کافیه کد زیر رو کپی کنید بدون هیچ چیز خاصی

#If Java
import android.content.Context;
import android.view.WindowManager.*;
public void _onCreate() {
this.getWindow().setFlags(LayoutParams.FLAG_SECURE, LayoutParams.FLAG_SECURE);
}
#End If

 

  • پسندیدن 1

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

مهمان
پاسخ به این سوال ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به عنوان یک لینک به جای

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.


×
×
  • جدید...