বুট আপনার অ্যাপ্লিকেশন শুরু
এটি সম্পাদন করার সর্বোত্তম উপায় হ'ল আপনার অ্যাপ্লিকেশনটিকে লঞ্চার হিসাবে সেট করা
<activity ...
android:launchMode="singleInstance"
android:windowActionBar="false">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.HOME" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
আপনার অ্যাপ্লিকেশন লক করা হচ্ছে
সবচেয়ে নির্ভরযোগ্য উপায় হ'ল ললিপপ বা এর চেয়ে বেশি ডিভাইস ব্যবহার করা এবং এর ব্যবহার করা
startLockTask
প্রথমে আপনাকে অবশ্যই অ্যাপ্লিকেশনটিকে ডিভাইসের মালিক হিসাবে সেট করতে হবে। এনবি আপনার ডিভাইসটি অবশ্যই অপ্রচলিত হওয়া উচিত: আপনি যদি এটি নিবন্ধভুক্ত করেন তবে আপনাকে ফ্যাক্টরী রিসেট করা উচিত এবং অ্যাকাউন্ট নিবন্ধকরণ এড়ানো উচিত।
আপনার অ্যাপ্লিকেশনটি নিবন্ধিত করতে সক্ষম হতে আপনাকে প্রথমে একটি ডিভাইস অ্যাডমিনআরসিভার উপাদান নির্ধারণ করতে হবে:
package com.example.myapp;
public class MyDeviceAdminReceiver extends android.app.admin.DeviceAdminReceiver {
@Override
public void onEnabled(Context context, Intent intent) {
Toast.makeText(context, "Device admin permission received", Toast.LENGTH_SHORT).show();
}
@Override
public CharSequence onDisableRequested(Context context, Intent intent) {
return "are you sure?";
}
@Override
public void onDisabled(Context context, Intent intent) {
Toast.makeText(context, "Device admin permission revoked", Toast.LENGTH_SHORT).show();
}
@Override
public void onLockTaskModeExiting(Context context, Intent intent) {
// here you must re-lock your app. make your activity know of this event and make it call startLockTask again!
}
}
আপনার একবার অপ্রকাশিত ডিভাইস হয়ে গেলে আপনি নীচের কমান্ডটি অ্যাডবি থেকে শুরু করতে পারেন ( কোনও মূল প্রয়োজন নেই )
adb shell dpm set-device-owner com.example.myapp/.MyDeviceAdminReceiver
অ্যান্ড্রয়েড এড়াতে ব্যবহারকারীকে আপনার অ্যাপ্লিকেশনটি পিন করতে অনুমতি চাইলে আপনাকে অবশ্যই সেটলক টাস্কপ্যাকেজগুলি কল করতে হবে
পরিশেষে!
@Override
public void onResume(){
super.onResume();
DevicePolicyManager mDevicePolicyManager = (DevicePolicyManager) getSystemService(
Context.DEVICE_POLICY_SERVICE);
ComponentName mAdminComponentName = new ComponentName(getApplicationContext(), MyDeviceAdminReceiver.class);
mDevicePolicyManager.setLockTaskPackages(mAdminComponentName, new String[]{getPackageName()});
startLockTask();
}
@Override
public void finish(){
stopLockTask();
super.finish();
}