স্ক্রিন চালু করুন


উত্তর:


339

দয়া করে একটি জাগ্রত লক ব্যবহার করবেন না

এটির জন্য আপনার অ্যাপ্লিকেশনটিকে একটি অতিরিক্ত অনুমতি দেওয়া দরকার এবং আপনি যে ঘটনাক্রমে ভেক লকটি ধরে রেখেছেন এবং এভাবে স্ক্রিনটি চালু রেখে চলেছেন সেগুলি খুব সহজেই প্রবর্তন করা সহজ।

উইন্ডো ফ্ল্যাগটি ব্যবহার করা এখন পর্যন্ত অনেক বেশি ভাল FLAG_KEEP_SCREEN_ON, যা আপনি আপনার ক্রিয়াকলাপের উইন্ডোটিতে এটির মতো সক্ষম করতে পারবেন onCreate():

@Override
protected void onCreate(Bundle icicle) {
    super.onCreate(icicle);

    getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
}

এটি নিশ্চিত করবে যে আপনার উইন্ডোটি অগ্রভাগে থাকা অবস্থায় এবং পর্দার সম্মুখভাগে থাকা অবস্থায়ই স্ক্রিনটি চালু থাকবে। এটি এই সাধারণ ব্যবহারের ক্ষেত্রে ব্যাপকভাবে সরল করে তোলে, রাজ্যের মধ্যে আপনার অ্যাপ্লিকেশন রূপান্তর হিসাবে আপনাকে যে কোনও জাগলিং করার দরকার তা দূর করে।


5
এটি কি ডিভাইসটিকে ঘুম থেকে আটকাতে পারে? যদি তা হয় তবে ডব্লিউএআইপি।
মাইকেল ক্র্যামার

32
হ্যাঁ এটি স্ক্রিনটি চালু রাখে এবং ডিভাইসটিকে ঘুম থেকে আটকায়।
হ্যাকবড

1
হ্যাঁ আপনি উপযুক্ত উইন্ডো এপিআই দিয়ে পতাকাটি সরাতে পারেন। আপনার কোনও কিছু আঁকার কারণ হওয়ার বিষয়ে চিন্তা করার দরকার নেই, কাঠামোটি প্রয়োজন হলে তা করে।
হ্যাকবড

1
@ হাকোবড: এটি পর্দা জীবিত করে তোলার জন্য কাজ করবে, তবে যে পর্দা ঘুমিয়ে আছে সে সম্পর্কে কী তা জাগ্রত হয়ে তা বাঁচিয়ে রাখবে ????
কবিতা

5
@ KC202 আপনি উইন্ডো ম্যানেজ.লায়আউটপ্যারাম ব্যবহার করতে পারেন F আপনার উইন্ডো প্রদর্শিত হবে তখন স্ক্রিনটি চালু করার কারণ হিসাবে ফ্ল্যাশ_Turn_SCREEN_ON এছাড়াও প্রায়শই FLAG_DISMISS_KEYGUARD এবং / অথবা FLAG_SHOW_WHEN_LOCKED ব্যবহার করা হয়।
হ্যাকবড

34

এই প্রশ্নটি ইতিমধ্যে @ হ্যাকবডের দুর্দান্ত উত্তর দিয়েছে!

আমি দুটি অতিরিক্ত সমাধান দিয়ে এই প্রশ্নের উত্তর দিচ্ছি!

বিদ্যমান সমাধান:

@Override
    protected void onCreate(Bundle icicle) {
        super.onCreate(icicle);    
        getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
    }

অতিরিক্ত সমাধান:

আমরা ব্যবহার করতে পারি keepScreenOn

1. implementation ব্যবহারsetKeepScreenOn() in java code

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        // or any View (in case generated programmatically ) 
        View v = getLayoutInflater().inflate(R.layout.driver_home, null);

        v.setKeepScreenOn(true);
        setContentView(v);
       }

দস্তাবেজগুলি http://developer.android.com/references/android/view/View.html#setKeepScreenOn(boolean)

2. যোগ keepScreenOnকরাxml layout

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:keepScreenOn="true" >

দস্তাবেজগুলি http://developer.android.com/references/android/view/View.html#attr_android%3akeepScreenOn

দ্রষ্টব্য (কিছু দরকারী পয়েন্ট):

1. এটা কোন ব্যাপার না যে keepScreenOnব্যবহার করা উচিত উপর Main/Root/Parent View এটি কোনো ব্যবহার করা যেতে পারেchild view ইচ্ছার কাজ একই হিসাবে যেমন কাজ করেParent view

২. বিষয়টি কেবলমাত্র View's Visibility must be visibleঅন্যান্য জিনিস এটি কার্যকর হবে না!


সম্পূর্ণ v.setKeepScreenOn(true);স্ক্রিন কথোপকথনের জন্য নোটটি এটি করার একমাত্র উপায় বলে মনে হচ্ছে
টিম

16

আর একটি সমাধান যুক্ত করা হয় android:keepScreenOn="true"( ডকুমেন্টেশন স্ক্রিনটি চালু রাখতে হবে এমন ভিউগুলিতে ) করা।

কোন মতামত অব্যাহত থাকে এবং কোনটি হয় না সে ক্ষেত্রে সামান্য আরও দানাদার নিয়ন্ত্রণের অনুমতি দেয়। এমনকি আপনি কোনও রিসোর্স ফাইল থেকে কোনও সেটিংটি এখানে উল্লেখ করতে পারেন।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.