دستگاه های اختصاصی

شیشه معمولاً برای استفاده به عنوان یک دستگاه اختصاصی با تعداد کمی از برنامه های کاربردی که یک راه حل سازمانی را تشکیل می دهند پیکربندی شده است. راهنمای زیر نحوه راه اندازی Glass را به عنوان یک دستگاه اختصاصی نشان می دهد.

تامین

ارائه کم لمس در Glass Enterprise Edition 2 یک برنامه مدیریت را نصب و پیکربندی می کند که از ابرداده ارائه شده در یک کد QR دانلود شده است. این برنامه می تواند از API DevicePolicyManager که روش ترجیحی برای مدیریت پیکربندی دستگاه است، استفاده کند.

لانچر را جایگزین کنید

برای راه اندازی یک دستگاه اختصاصی، باید برنامه لانچر را جایگزین کنید. این تضمین می کند که برنامه اختصاصی پس از راه اندازی مجدد دستگاه به طور خودکار راه اندازی می شود. محتوای زیر به تشریح وظایف مربوط به آماده سازی یک برنامه و تنظیم آن به عنوان راه‌انداز می‌پردازد:

  • فیلتر هدف فعالیت
  • یک لانچر جدید تنظیم کنید
  • فیلتر هدف فعالیت

    باید دسته های زیر را به فعالیت اصلی در مانیفست برنامه خود اضافه کنید:

    <intent-filter>
      <action android:name="android.intent.action.MAIN"/>
      <category android:name="android.intent.category.LAUNCHER"/>
    
      <category android:name="android.intent.category.HOME"/>
      <category android:name="android.intent.category.DEFAULT"/>
    </intent-filter>
    

    یک لانچر جدید تنظیم کنید

    برای تنظیم یک راه‌انداز جدید، با addPersistentPreferredActivity() از برنامه مدیریت تماس بگیرید. این فقط در صورتی کار می کند که دستگاه قبلاً تهیه شده باشد. برای دستگاه‌های ارائه نشده، یک راه‌انداز جدید از رابط کاربری دستگاه انتخاب کنید.

    فعالیت ترجیحی مداوم را اضافه کنید

    این روش به شما امکان می‌دهد بدون تعامل با دستگاه، یک componentName را به عنوان راه‌انداز دستگاه تنظیم کنید.

    کاتلین

    val filter = IntentFilter(Intent.ACTION_MAIN)
    filter.addCategory(Intent.CATEGORY_HOME)
    filter.addCategory(Intent.CATEGORY_DEFAULT)
    
    val componentName = ComponentName(PACKAGE_NAME, CLASS_NAME)
    val devicePolicyManager: DevicePolicyManager =
        context.getSystemService(Context.DEVICE_POLICY_SERVICE) as DevicePolicyManager
    val adminName = getComponentName(context)
    devicePolicyManager.addPersistentPreferredActivity(adminName, filter, componentName)
    

    جاوا

    final IntentFilter filter = new IntentFilter(Intent.ACTION_MAIN);
    filter.addCategory(Intent.CATEGORY_HOME);
    filter.addCategory(Intent.CATEGORY_DEFAULT);
    
    final ComponentName componentName = new ComponentName(PACKAGE_NAME, CLASS_NAME);
    DevicePolicyManager devicePolicyManager =
        (DevicePolicyManager) context.getSystemService(Context.DEVICE_POLICY_SERVICE);
    final adminName = getComponentName(context);
    devicePolicyManager.addPersistentPreferredActivity(adminName, filter, componentName);
    

    از رابط کاربری در دستگاه استفاده کنید

    از یکی از روش‌های زیر برای نشان دادن گفتگوی انتخاب راه‌انداز بر روی صفحه استفاده کنید:

    استفاده از حرکت لمسی کشیدن به بالا در تنظیمات

    صفحه اصلی را به سمت عقب بکشید تا یک صفحه خلاصه تنظیمات نشان داده شود. سپس، برای ورود به صفحه تنظیمات ضربه بزنید. برای نمایش کادر گفتگو، انگشت خود را به بالا بکشید.

    استفاده از intent در برنامه

    کاتلین

    val intent = Intent(Intent.ACTION_MAIN);
    intent.addCategory(Intent.CATEGORY_HOME);
    startActivity(intent);
    

    جاوا

    final Intent intent = new Intent(Intent.ACTION_MAIN);
    intent.addCategory(Intent.CATEGORY_HOME);
    startActivity(intent);
    
    با استفاده از دستور adb

    adb shell am start -a android.intent.action.MAIN -c android.intent.category.HOME

    صفحه لمسی را به جلو و عقب بکشید تا برنامه مورد نظر خود را انتخاب کنید و برای تأیید ضربه بزنید. از همین روش برای انتخاب دکمه "همیشه" استفاده کنید.

    حالت کار را قفل کنید

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

    بسته های مجاز را تنظیم کنید

    قطعه زیر به شما نشان می دهد که چگونه لیست بسته ها را تنظیم کنید:

    کاتلین

    private val KIOSK_PACKAGE = "com.example.kiosk"
    private val PLAYER_PACKAGE = "com.example.player"
    private val APP_PACKAGES = arrayOf(KIOSK_PACKAGE, PLAYER_PACKAGE)
    
    val devicePolicyManager: DevicePolicyManager =
      context.getSystemService(Context.DEVICE_POLICY_SERVICE) as DevicePolicyManager
    val adminName = getComponentName(context)
    devicePolicyManager.setLockTaskPackages(adminName, APP_PACKAGES)
    

    جاوا

    private static final String KIOSK_PACKAGE = "com.example.kiosk";
    private static final String PLAYER_PACKAGE = "com.example.player";
    private static final String[] APP_PACKAGES = {KIOSK_PACKAGE, PLAYER_PACKAGE};
    
    final DevicePolicyManager devicePolicyManager =
        (DevicePolicyManager) context.getSystemService(Context.DEVICE_POLICY_SERVICE);
    final ComponentName adminName = getComponentName(context);
    devicePolicyManager.setLockTaskPackages(adminName, APP_PACKAGES);
    

    حالت کار قفل را شروع کنید

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

    کاتلین

    override fun onResume() {
        super.onResume()
        activity.startLockTask()
    }
    

    جاوا

    @Override
    public void onResume() {
      super.onResume();
      getActivity().startLockTask();
    }