আমার অ্যাপটি চলমান থাকাকালীন স্ক্রিনসেভারটি অক্ষম করার কোনও উপায় আছে কি?
স্ক্রিনটির ম্লান হওয়া বলতে আমি কী বোঝাতে চাইছি।
আমার অ্যাপটি চলমান থাকাকালীন স্ক্রিনসেভারটি অক্ষম করার কোনও উপায় আছে কি?
স্ক্রিনটির ম্লান হওয়া বলতে আমি কী বোঝাতে চাইছি।
উত্তর:
আপনি এর মতো কিছু ব্যবহার করতে চান:
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
আমি ব্যবহার করতাম:
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
স্ক্রীন সময়সীমা নিষ্ক্রিয় করতে এবং
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
এটি পুনরায় সক্ষম করতে।
গুগল সুপারিশ করে এমন একটি এক্সএমএল উপায়ও রয়েছে:
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:keepScreenOn="true">
পরীক্ষা করে দেখুন Google স্লাইড - স্লাইড 16।
"ভ্যাকলকগুলি ভুলে গেলে ব্যয়বহুল (...) অ্যান্ড্রয়েড ব্যবহার বিবেচনা করুন: নির্ভুলতা নিশ্চিত করতে কিপস্ক্রিনঅন"
PowerManager.newWakeLockএবং getWindow().addFlagsকোনও কারণে কাজ করে নি, এটি হয়েছিল।
এটি গুরুত্বপূর্ণ যে এই পদ্ধতিগুলি সমস্ত ইউআই থ্রেড থেকে কাজ করতে চালানো উচিত note অ্যান্ড্রয়েড কর্ডোভা অ্যাপ্লিকেশনে জাভাস্ক্রিপ্ট থেকে কিপস্ক্রিনঅন পরিবর্তন দেখুন
আপনার MainActivityএবং আপনার অ্যাপ্লিকেশনটিতে লাইনের নীচে সরল অ্যাড যুক্ত কখনও লাইট বন্ধ করবেন না।
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
একটি দৃশ্যে, আমার ক্ষেত্রে একটি সারফেসভিউ সাবক্লাস, আপনি সর্বদা চালু রাখতে পারেন can এই ভিউটি স্টাফ আঁকতে থাকাকালীন আমি পর্দাটি চালু রাখতে চেয়েছিলাম।
public class MyCoolSurfaceView extends SurfaceView {
@Override
protected void onAttachedToWindow (){
super.onAttachedToWindow();
this.setKeepScreenOn(true);
}
@Override
protected void onDetachedFromWindow(){
super.onDetachedFromWindow();
this.setKeepScreenOn(false);
}
এটি অন স্টার্টে রাখুন
PowerManager powerManager = (PowerManager) getSystemService(Context.POWER_SERVICE); wakeLock = powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "no sleep"); wakeLock.acquire();
এবং এটি আপনার প্রকাশিত
<uses-permission android:name="android.permission.WAKE_LOCK" />
ভুলে যাবেন না
wakeLock.release();
অনস্টপ এ
PARTIAL_WAKE_LOCKপর্দা বন্ধ যেতে দেয়।
এটি এটি সমাধান করার সেরা উপায়
getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN | WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
android:keepScreenOn="true"
এটি হ্যান্ডেল করার সর্বোত্তম উপায় হ'ল যদি আমরা কোনও নির্দিষ্ট পর্দা সর্বদা জাগ্রত করতে চাই তবে অন্যথায় কখন এটি সক্ষম করতে এবং অক্ষম করতে হবে তা আমাদের নিজেরাই হ্যান্ডেল করতে হবে
https://developer.android.com/training/scheduling/wakelock.html
procedure SetSleep(aEnable:Boolean);
var
vFlags: integer;
begin
vFlags := TJWindowManager_LayoutParams.JavaClass.FLAG_TURN_SCREEN_ON or
TJWindowManager_LayoutParams.JavaClass.FLAG_DISMISS_KEYGUARD or
TJWindowManager_LayoutParams.JavaClass.FLAG_SHOW_WHEN_LOCKED or
TJWindowManager_LayoutParams.JavaClass.FLAG_KEEP_SCREEN_ON;
if aEnable then
begin
CallInUIThread ( // uses FMX.Helpers.Android
procedure
begin
TAndroidHelper.Activity.getWindow.setFlags (vFlags, vFlags);
end );
end
else
CallInUIThread (
procedure
begin
TAndroidHelper.Activity.getWindow.clearFlags (vFlags);
end );
end;
1.getWindow ()। AddFlags (উইন্ডো ম্যানেজ। লেআউটপ্যারামস.এফএলএজি_কেইপি_স্রেইন আপত্তি); নেটিভ অ্যান্ড্রয়েডের জন্য সেরা সমাধান।
২. যদি আপনি অ্যান্ড্রয়েড অ্যাপ্লিকেশনটির সাথে করতে চান তবে নীচের কোডটি ব্যবহার করুন।
@ReactMethod
public void activate() {
final Activity activity = getCurrentActivity();
if (activity != null) {
activity.runOnUiThread(new Runnable() {
@Override
public void run() {
activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
}
});
}
}
এটি একটি ওয়েক লক অর্জন করে করা যেতে পারে।
আমি নিজে এটি পরীক্ষা করিনি, তবে এখানে এটির একটি ছোট টিউটোরিয়াল is
View#setKeepScreenOnবা এর এক্সএমএল লেআউট বৈশিষ্ট্য সমতুল্য,android:keepScreenOn="true"
WakeLock।
android:keepScreenOn="true"আমার মতে ক্রিয়াকলাপগুলির একমাত্র বৈধ উত্তর। একেবারে প্রয়োজনীয় না হলে জাগ্রত থেকে দূরে থাকুন।
View.setKeepScreenOn()[লিঙ্ক] [1] ব্যবহার সম্পর্কে কী ?. যদিও আমি নিজে এটি কখনও ব্যবহার করি নি। [1]: বিকাশকারী.আ্যান্ড্রয়েড.