آموزش مخفی کردن آیکون برنامه داخل لانچر در برنامه نویسی اندروید
به دلایل خیلی زیادی ممکن است که بخواهید آیکون برنامهی خود را مخفی کنید تا دیگر در لانچر نمایش داده نشود! البته آیکون در قسمت برنامههای نصب شده همچنان قابل مشاهده خواهد بود و این فقط در لانچر است که نمایش داده نمیشود. منظور از آیکون برنامه نیز، آیکونی میباشد که برای اکتیویتی تنظیم شده است؛ چرا که برنامهی شما ممکن است چندین آیکون در لانچر داشته باشد (در اینمورد میتوانید پست”به زودی” را مطالعه کنید).
تابع مربوط به این کار
تابع زیر را بنویسید:
public static void activityEnable(Context context, Class<?> activity, boolean enable) { context.getPackageManager().setComponentEnabledSetting( new ComponentName(context, activity), enable ? PackageManager.COMPONENT_ENABLED_STATE_ENABLED : PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP); }
- ورودی اول – context: یک کانتکس که میتواند مربوط به اکتیویتی یا اپلیکیشن و … باشد.
- ورودی دوم – activity: کلاس اکتیویتیای که میخواهیم آن را مخفی کنیم.
- ورودی سوم – enable: اگر false باشد مخفی شده و اگر true باشد بالعکس.
برای مثال، فرض کنید این کد را داخل MainActivity مینویسیم.
activityEnable(MainActivity.this, MainActivity.class, false);
غیرفعال کردن به صورت پیشفرض
شاید بخواهید آیکون برنامه از ابتدا مخفی باشد، برای انجام این کار در آن اکتیویتیای که android.intent.category.LAUNCHER را دارد، ویژگی enabled آن را false قرار دهید.
<activity android:name=".MainActivity" android:enabled="false"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity>
شما میتوانید، بقیهی اکتیوتیهایتان را هم که در لانچر دارای آیکون میباشند، با استفاده از این روشها، مخفی کنید.
شاید بعد از مخفی کردن برنامه، بخواهید کاربر به نحوی بتواند اکتیوتی مورد نظر را باز کند که در اینصورت میتوانید از پست “آموزش بررسی شماره هنگام تماس گرفتن در برنامه نویسی اندروید” استفاده کنید.
ایول عالی بود
سلام مخفی کردیم چطوری بعدا بازش کنیم برنامه رو
سلام، چرا موقع استفاده از این روش آیکن مخفی میشه ولی برنامه هم کرش میکنه و پیام has stopped میده؟