رفتن به مطلب
  • 0

جلوگیری از خروج/عمل نکردن کلیدها


nicetitle

سوال

دوستان اگر کسی راه حل ساده ای داره تا بشه کاری کرد که هیچ کدوم از کلیدهای اصلی کاری نکنه ...

میخوام وقتی برنامه بازه کاربر مجبور بشه تا عملی رو انجام بده تا بصورت خودکار برنامه بسته بشه...

درکل میخوام کلیدهای back meno home کار نکنن یا کلیدهای دیگه ای که احتمال داره کاربر بتونه برنامه رو ببنده.

اگر راه حل دیگه ای هم دارید ممنون میشم کمک کنید

لینک ارسال
به اشتراک گذاری در سایت های دیگر

ارسال‌های توصیه شده

دوست عزیز آغازگر

برای جلوگیری از خروج توسط کلید Back

تو همون کدی که تشخیص داده میشه اون کلید زده شده شما باید مقداری True رو Return کنید !

در اصل برنامه بیخیال کلید زده شده میشه

ولی برای کلید Home هیچ کاری نمیشه کرد !

لینک ارسال
به اشتراک گذاری در سایت های دیگر

یه کد خیلی کوچیک تو manifest همه چیز رو حل می کنه

android:excludeFromRecents="true"

فقط شما نمی تونین از طریق ManifestEditor این کار رو انجام بدین

باید از خود فایل این کد رو اضافه کنید

تو هر Activity

شبیه این

		<activity
		android:name="com.mostafa.CP.confirm.ConfirmActivity"
		android:excludeFromRecents="true"
		android:theme="@android:style/Theme.Translucent.NoTitleBar" >
	</activity>

این کد دیگه Activity شما رو تو RecentApp نمیاره که بتونین با Hold Home ببندینش

لینک ارسال
به اشتراک گذاری در سایت های دیگر

اینو امتحان کن احتمال زیاد دیگه کار نکنن

Sub Activity_KeyPress (KeyCode As Int) As Boolean
If KeyCode = KeyCodes.KEYCODE_BACK Then
Return True
    End If
End Sub

Sub Activity_KeyPress (KeyCode As Int) As Boolean
If KeyCode = KeyCodes.KEYCODE_HOME Then
Return True
    End If
End Sub
Sub Activity_KeyPress (KeyCode As Int) As Boolean
If KeyCode = KeyCodes.KEYCODE_MENU Then
Return True
    End If
End Sub

من امتحان کرده بودم...ولی جواب نداده بود...

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

Sub Activity_KeyPress (KeyCode As Int) As Boolean

End Sub

لینک ارسال
به اشتراک گذاری در سایت های دیگر

یه کد خیلی کوچیک تو manifest همه چیز رو حل می کنه

android:excludeFromRecents="true"

فقط شما نمی تونین از طریق ManifestEditor این کار رو انجام بدین

باید از خود فایل این کد رو اضافه کنید

تو هر Activity

شبیه این

		<activity
		android:name="com.mostafa.CP.confirm.ConfirmActivity"
		android:excludeFromRecents="true"
		android:theme="@android:style/Theme.Translucent.NoTitleBar" >
	</activity>

این کد دیگه Activity شما رو تو RecentApp نمیاره که بتونین با Hold Home ببندینش

شرمنده...متوجه نشدم باید کجا بزارم...

لینک ارسال
به اشتراک گذاری در سایت های دیگر

شرمنده...متوجه نشدم باید کجا بزارم...

توی پوشه Objects یک فایل هست به نام AndroidManifest.xml . منظور اقای حقیقی این فایل هستش *همینه*

لینک ارسال
به اشتراک گذاری در سایت های دیگر

از project به Manifest برید

موفق باشید

لینک ارسال
به اشتراک گذاری در سایت های دیگر

از project به Manifest برید

موفق باشید

آرمین *خنده* آقای حقیقی گفتن با Manifest Editor نمیشه.

لینک ارسال
به اشتراک گذاری در سایت های دیگر

*خنده* شرمنده من ندیدم متنشو*باکلاس*

لینک ارسال
به اشتراک گذاری در سایت های دیگر

دوستان من تغییراتی که آقای حقیقی گفتن رو اعمال کردم درسته که دیگه اسم برنامه رو توی لیست برنامه های بازشده نمیاره اما من می خوام خود دکمه home غیرفعال باشه

لینک ارسال
به اشتراک گذاری در سایت های دیگر

دوستان هر کاری که گفتید انجام دادم ولی واقعا نمیشه

من میخوام دکمه های ولوم و پاور غیر فعال بشن

چطور این کار رو باید انجام داد

لینک ارسال
به اشتراک گذاری در سایت های دیگر

دوستان هر کاری که گفتید انجام دادم ولی واقعا نمیشه

من میخوام دکمه های ولوم و پاور غیر فعال بشن

چطور این کار رو باید انجام داد

بعید میدونم بتونید این دکمه هارو غیر فعال کنید *سرپایین* خود گوشی این اجازه رو نمیده به نظر بنده.

البته تست نکردم .

لینک ارسال
به اشتراک گذاری در سایت های دیگر

من تا حالا دکمه ی پاور و ولوم رو غیر فعال نکردم.اما یه روشی بلدم که دکمه ی BACK گوشی رو غیر فعال میکنه.یعنی با زدن BACK همون مراحل دکمه ی خروج تکرار میشه و گوشی از برنامه بدون اطلاع و همینطور یهویی خارج نمیشه.

اول توی قسمت Sub Globals این رو مینویسید. Dim a = As Int . به جای a هر چیزی میتونید بذارید.

بعد روی قسمت Designer از کادر بالا کلید کنید تا پنجره ی کلید ها باز بشه . توی پنجره ی سیاه مربوط به قراردادن جای دکمه ها ، روی خود صفحه سیاه , نه روی دکمه ها ، راست کلیک کنید و گزینه ی Generate و بعد از اون روی گزینه ی KeyPress (KeyCode As Int) As Boolean (دکمه دوم) کلیک کنید.

بعد از کلیک ، در صفحه اصلی بیسیک 4 اندروید یه بخش به این نام ایجاد میشه .

Sub Activity_KeyPress (KeyCode As Int) As Boolean 'Return True to consume the event

End Sub

قسمت Return True to consume the event' رو هم میتونید حذف کنید.

و بعد تمام شروطی را که برای دکمه ی خروج از برنامه گذاشته اید ، برای این قسمت هم بگذارید تا کار دکمه ی "خروج از برنامه" و "Back" یکی شود.

کد ها به این صورت است :

Sub Exit_Click ​(کلید خروجی که در برنامه تعیین کرده اید)

(**,**,**,**,**,**)a = Msgbox2

If a = DialogResponse.POSITIVE Then

Else If a = DialogResponse.CANCEL Then

End If

End Sub

______________________________________________________________

Sub Activity_KeyPress (KeyCode As Int) As Boolean(کلید BACK گوشی)

If KeyCode = KeyCodes.KEYCODE_BACK Then

(**,**,**,**,**,**)a = Msgbox2

If a = DialogResponse.POSITIVE Then

Else If a = DialogResponse.CANCEL Then

End If

Return True

End If

End Sub

_______________________________________________________________

هر کدوم از بخش ها هم آموزش خاص خودشونو دارن که اول از همه باید یاد بگیرید

تذکر : در قسمت بالا اگر به جای a از اسم دیگری استفاده میکنید ، باید آن را جا گذاری کنید .

یعنی هر جا که من از a استفاده کردم شما از اسم انتخابی خودتون استفاده کنید .

تذکر : در کد های بالا "(کلید خروجی که در برنامه تعیین کرده اید) و (کلید BACK گوشی)"

برای اطلاع رسانی است و در کد نویسی نوشته نمی شود .

تذکر : جهت اطلاع : (**,**,**,**,**) شامل (*عکس*,*Positive*,*Cancel*,*Negative*,*تایتل(تیتر)*,*متن*) است.

هر کدام از اصطلاحات نیز آموزش خاص خود را دارند که اول از همه باید یاد بگیرید.

شاید این روش برای دیگر دکمه های گوشی هم کار ساز باشه.

امیدوارم بدردتون بخوره.موفق باشید

لینک ارسال
به اشتراک گذاری در سایت های دیگر

هر چی با نوتپ پد تغییر میدم و ذخیره میکنم انگار ذخیره نشده!!!

تاحالا از اینجا تغییر نداده بودم...میشه راهنمایی کنید؟

لینک ارسال
به اشتراک گذاری در سایت های دیگر

تیک Read-only رو بزنید بعد تغییر

موفق باشید

لینک ارسال
به اشتراک گذاری در سایت های دیگر

با اینکار دکمه home غیر فعال نمیشه؟؟

لینک ارسال
به اشتراک گذاری در سایت های دیگر

با اینکار دکمه home غیر فعال نمیشه؟؟

بعید میدونم خود دکمه Home رو بشه غیر فعال کرد.

لینک ارسال
به اشتراک گذاری در سایت های دیگر

حالا اینی که مصطفی عزیز گفته رو باید کجا اضافه کرد؟؟

از خود maniFast که نمیشه.

از پوشه object باید کی این رو اضافه کنیم؟؟؟؟

وقتی برنامه رو کامپایل کردیم که اون فایل از برنامه جداست و فقط تو پوشه object هست.

قبل از کامپایل هم که فک کنم دوباره بعد کامپایل میاد اون فایل رو با کدای خودش میسازه.

باید چیکار کنیم؟؟

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام . تست نکردم اما به نظر من هرکاری هم که کنید کاربر میتونه با Hold کردن Menu به راحنی برنامه رو ببنده

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام . اینو تست کن :

Sub Activity_KeyPress (KeyCode As Int) As Boolean
If KeyCode = KeyCodes.KEYCODE_BACK Then

 End If
End Sub

Sub Activity_KeyPress (KeyCode As Int) As Boolean
If KeyCode = KeyCodes.KEYCODE_HOME Then

 End If
End Sub
Sub Activity_KeyPress (KeyCode As Int) As Boolean
If KeyCode = KeyCodes.KEYCODE_MENU Then

 End If
End Sub

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

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

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...