অ্যান্ড্রয়েড 5.0 উত্পাদন ডিভাইসে কীভাবে টাস্ক লকিং সক্ষম করবেন enable


12

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

প্রোডাকশন অ্যান্ড্রয়েড এল ডিভাইসে কীভাবে ডিভাইসের মালিক অ্যাপগুলি ইনস্টল হতে চলেছে?


আপনি কি বিষয়টি স্লোগান করেছেন?
KOTIOS

1
এই চেক করুন stackoverflow.com/questions/26906210/...
Spynet

ধন্যবাদ @ স্পিনেট - এটি সমাধানটির সবচেয়ে সম্পূর্ণ সংক্ষিপ্তসার বলে মনে হচ্ছে।
অ্যাড্রিয়ান কক্স

উত্তর:


14

( সম্পাদনা: আরও কিছু পরীক্ষার পরে আপডেট হয়েছে)

সর্বশেষতম ডকুমেন্টেশন চেক করুন ।

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

স্ক্রিন পিনিং সক্রিয় করার জন্য দুটি উপায় রয়েছে:

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

আপনি যদি স্ক্রিন পিনিংকে প্রোগ্রমেটিকভাবে সক্রিয় করেন (ডিভাইস মালিকানাধীন অ্যাপ নয়) বা ডিভাইসটিতে পিন ব্যবহার করে রিসেন্টসে নীচের আচরণটি পান:

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

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

সঠিক কিওস্ক মোড পেতে আমাদের ডিভাইসটির মালিক সেট করতে হবে। গুগলের ডকুমেন্টেশন বলছে আপনাকে এনএফসি দিয়ে এটি করা দরকার:

একটি ডিভাইস মালিক মোতায়েন এবং সক্রিয় করতে, ডিভাইসটি অপ্রচলিত অবস্থায় থাকার সময় আপনাকে অবশ্যই একটি প্রোগ্রামিং অ্যাপ থেকে ডিভাইসে একটি এনএফসি ডেটা স্থানান্তর করতে হবে।

এটি করার জন্য এনএফসি ব্যবহার করা কিছুটা জটিল বলে মনে হচ্ছে (কোনও ডিভাইসে এনএফসি না থাকলে কী হবে?) আমি এখনও এটি তদন্ত করি নি তাই যদি কেউ এনফিসি দ্বারা ডিভাইসটির মালিককে সেট করার বিষয়ে আপনি কীভাবে তথ্য সরবরাহ করতে পারেন? যা এখন আপনার প্রশ্নের মূল বিষয় হয়ে দাঁড়িয়েছে। (অর্থাত্ কোনও রুটবিহীন ডিভাইসে ডিভাইসের মালিককে সেট করা)

তবে আচরণটি নিশ্চিত করার জন্য আশানুরূপ হিসাবে যদি আপনি কোনও ডিভাইস রুট করেন তবে গুগলের আগের নির্দেশাবলী অনুসারে আপনি ডিভাইসটির মালিককে সেট করতে পারেন (একটি ডিভাইস_উনর.এক্সএমএল যোগ করা) আমি এখানে উল্লিখিত হিসাবে

এখন আপনি অ্যাপটিকে যথাযথভাবে লক করতে পারবেন, ব্যবহারকারীদের গ্রহণ করার জন্য কোনও ডায়ালগ উপস্থিত হবে না, যখন সক্ষম করা হবে তখন রিেন্টস এবং হোম বোতামটি অদৃশ্য হয়ে যায় এবং ব্যবহারকারী আপনার অ্যাপ্লিকেশনটি আনলক না করা অবধি অ্যাপটি ছাড়তে পারে না। একটি সঠিক কিওস্ক মোড। আমি সর্বশেষতম ললিপপ বিল্ড সহ এটি একটি Nexus 7 2013 এ পরীক্ষা করেছি।

নিম্নলিখিত স্নিপেটটি লকটি চালু করে:

mDPM = (DevicePolicyManager) getSystemService(Context.DEVICE_POLICY_SERVICE);
mDeviceAdminSample = new ComponentName(this, DeviceAdminSample.class);

if (mDPM.isDeviceOwnerApp(this.getPackageName())) {
    Log.d(TAG, "isDeviceOwnerApp: YES");
    String[] packages = {this.getPackageName()};
    mDPM.setLockTaskPackages(mDeviceAdminSample, packages);
} else {
    Log.d(TAG, "isDeviceOwnerApp: NO");
}

if (mDPM.isLockTaskPermitted(this.getPackageName())) {
    Log.d(TAG, "isLockTaskPermitted: ALLOWED");
    startLockTask();
} else {
    Log.d(TAG, "isLockTaskPermitted: NOT ALLOWED");
}

আমি মনে করি এই মুহুর্তে এটি সেরা সম্ভাব্য উত্তর। এনএফসি পদক্ষেপটি একটি রহস্য হিসাবে রয়ে গেছে, তবে এটি একটি সঙ্কীর্ণ প্রশ্ন।
অ্যাড্রিয়ান কক্স

আমি এনএফসি পদক্ষেপটি কাজ করার চেষ্টা করছি কিন্তু কোনও সাফল্য পাইনি, আমি এখানে এই নিয়ে একটি প্রশ্ন শুরু করেছি । এছাড়াও কিয়স্ক ব্যবহারের জন্য পিন পর্দা উন্নত করতে Google এর সাথে একটি বৈশিষ্ট্য অনুরোধ অপেক্ষমান আছে এখানে
tagy22

1

আমি কোনও উত্তরের বিষয়ে মন্তব্য করতে পারি না যা সামান্য উপদ্রব তবে ট্যাগের 22 এর উত্তরের পরিপূরক যা আপনি dpmডিভাইসটির মালিককে সেট করতে ব্যবহার করতে পারেন । আরও বিশদ এখানে


1
dpmকোনও অ্যাকাউন্ট (যেমন গুগল অ্যাকাউন্ট) ডিভাইসে সেট করা থাকলে কাজটি করা হবে না।
ফায়ারলর্ড

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