لرزاندن گوشی (vibrate)، در برنامه نویسی اندروید

P O U R I A

مدیر مهندسی شیمی مدیر تالار گفتگوی آزاد
مدیر تالار
فهرست تاپیک:

  1. لرزاندن گوشی (vibrate) به مدت چند ثانیه، در برنامه نویسی اندروید
  2. لرزاندن گوشی (vibrate) بر اساس یک الگوی (pattern) مشخص، در برنامه نویسی اندروید
 

P O U R I A

مدیر مهندسی شیمی مدیر تالار گفتگوی آزاد
مدیر تالار
لرزاندن گوشی (vibrate) به مدت چند ثانیه، در برنامه نویسی اندروید

لرزاندن گوشی (vibrate) به مدت چند ثانیه، در برنامه نویسی اندروید

برای لرزاندن گوشی (vibrate) به مدت چند ثانیه، کدهای زیر را اجرا می کنیم :
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace]Vibrator vibrator [COLOR=#339933]=[/COLOR] [COLOR=#009900]([/COLOR]Vibrator[COLOR=#009900])[/COLOR] [B]this[/B].[COLOR=#006633]getSystemService[/COLOR][COLOR=#009900]([/COLOR][COLOR=#003399]Context[/COLOR].[COLOR=#006633]VIBRATOR_SERVICE[/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
vibrator.[COLOR=#006633]vibrate[/COLOR][COLOR=#009900]([/COLOR][COLOR=#CC66CC]2000[/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR][/FONT]
[/FONT][/COLOR]
اما کدهای بالا، نیاز به افزودن اجازه دسترسی (permission) زیر دارد :
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace][COLOR=#339933]<[/COLOR]uses[COLOR=#339933]-[/COLOR]permission android[COLOR=#339933]:[/COLOR]name[COLOR=#339933]=[/COLOR][COLOR=#0000FF]"android.permission.VIBRATE"[/COLOR][COLOR=#339933]/>[/COLOR][/FONT]
[/FONT][/COLOR]
بنابراین باید فایل AndroidManifest.xml از پروژه اندروید را باز کرده و کد بالا را به آن اضافه کنیم. به عنوان مثال (مثالی از کدهای فایل AndroidManifest.xml) :
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace][COLOR=#339933]<?[/COLOR]xml version[COLOR=#339933]=[/COLOR][COLOR=#0000FF]"1.0"[/COLOR] encoding[COLOR=#339933]=[/COLOR][COLOR=#0000FF]"utf-8"[/COLOR][COLOR=#339933]?>[/COLOR]
[COLOR=#339933]<[/COLOR]manifest xmlns[COLOR=#339933]:[/COLOR]android[COLOR=#339933]=[/COLOR][COLOR=#0000FF]"http://schemas.android.com/apk/res/android"[/COLOR]
    [B]package[/B][COLOR=#339933]=[/COLOR][COLOR=#0000FF]"com.kelidestan.com"[/COLOR]
    android[COLOR=#339933]:[/COLOR]versionCode[COLOR=#339933]=[/COLOR][COLOR=#0000FF]"1"[/COLOR]
    android[COLOR=#339933]:[/COLOR]versionName[COLOR=#339933]=[/COLOR][COLOR=#0000FF]"1.0"[/COLOR] [COLOR=#339933]>[/COLOR]

    [COLOR=#339933]<[/COLOR]uses[COLOR=#339933]-[/COLOR]sdk
        android[COLOR=#339933]:[/COLOR]minSdkVersion[COLOR=#339933]=[/COLOR][COLOR=#0000FF]"8"[/COLOR]
        android[COLOR=#339933]:[/COLOR]targetSdkVersion[COLOR=#339933]=[/COLOR][COLOR=#0000FF]"18"[/COLOR] [COLOR=#339933]/>[/COLOR]
    
    [COLOR=#339933]<[/COLOR]uses[COLOR=#339933]-[/COLOR]permission android[COLOR=#339933]:[/COLOR]name[COLOR=#339933]=[/COLOR][COLOR=#0000FF]"android.permission.VIBRATE"[/COLOR][COLOR=#339933]/>[/COLOR]

    [COLOR=#339933]<[/COLOR]application
        android[COLOR=#339933]:[/COLOR]allowBackup[COLOR=#339933]=[/COLOR][COLOR=#0000FF]"true"[/COLOR]
        android[COLOR=#339933]:[/COLOR]icon[COLOR=#339933]=[/COLOR][COLOR=#0000FF]"@drawable/ic_launcher"[/COLOR]
        android[COLOR=#339933]:[/COLOR]label[COLOR=#339933]=[/COLOR][COLOR=#0000FF]"@string/app_name"[/COLOR]
        android[COLOR=#339933]:[/COLOR]theme[COLOR=#339933]=[/COLOR][COLOR=#0000FF]"@style/AppTheme"[/COLOR] [COLOR=#339933]>[/COLOR]
        [COLOR=#339933]<[/COLOR]activity
            android[COLOR=#339933]:[/COLOR]name[COLOR=#339933]=[/COLOR][COLOR=#0000FF]"com.kelidestan.com.MainActivity"[/COLOR]
            android[COLOR=#339933]:[/COLOR]label[COLOR=#339933]=[/COLOR][COLOR=#0000FF]"@string/app_name"[/COLOR] [COLOR=#339933]>[/COLOR]
            [COLOR=#339933]<[/COLOR]intent[COLOR=#339933]-[/COLOR]filter[COLOR=#339933]>[/COLOR]
                [COLOR=#339933]<[/COLOR]action android[COLOR=#339933]:[/COLOR]name[COLOR=#339933]=[/COLOR][COLOR=#0000FF]"android.intent.action.MAIN"[/COLOR] [COLOR=#339933]/>[/COLOR]

                [COLOR=#339933]<[/COLOR]category android[COLOR=#339933]:[/COLOR]name[COLOR=#339933]=[/COLOR][COLOR=#0000FF]"android.intent.category.LAUNCHER"[/COLOR] [COLOR=#339933]/>[/COLOR]
            [COLOR=#339933]</[/COLOR]intent[COLOR=#339933]-[/COLOR]filter[COLOR=#339933]>[/COLOR]
        [COLOR=#339933]</[/COLOR]activity[COLOR=#339933]>[/COLOR]
    [COLOR=#339933]</[/COLOR]application[COLOR=#339933]>[/COLOR]

[COLOR=#339933]</[/COLOR]manifest[COLOR=#339933]>[/COLOR][/FONT]
[/FONT][/COLOR]
نکته :

چنانچه کد را اجرا کردید و لرزش گوشی (vibrate) اتفاق نیفتاد، ممکن است در تنظیمات گوشی، شدت لرزش برای notification ها برابر صفر (عدم لرزش) تعیین شده باشد. برای چک کردن این مورد، ابتدا به بخش تنظمات گوشی خود بروید و گزینه مربوط به صدا (Sound) را بیابید و بر روی آن اشاره کنید:1256.jpg

در صفحه ای که نمایش داده می شود، بر روی گزینه Vibration intensity اشاره کنید :


1257.jpg


در صفحه ای که نمایش داده می شود، شدت لرزش برای Notification را برابر یک مقدار دلخواه (مقداری غیر از صفر) قرار بدهید و تغییرات را ذخیره کنید :

1258.jpg

منبع: kelidestan
 

P O U R I A

مدیر مهندسی شیمی مدیر تالار گفتگوی آزاد
مدیر تالار
لرزاندن گوشی (vibrate) بر اساس یک الگوی (pattern) مشخص، در برنامه نویسی اندروید

لرزاندن گوشی (vibrate) بر اساس یک الگوی (pattern) مشخص، در برنامه نویسی اندروید

شرح دادیم که چه کدهایی را برای لرزاندن گوشی (vibrate) به مدت چند ثانیه، اجرا کنیم. اما ممکن است قصد داشته باشیم که لرزش گوشی (vibrate) دارای یک الگوی (pattern) مشخص باشد. مثلا 100 میلی ثانیه بلرزد، بعد 1 ثانیه توقف کند، بعد 100 میلی ثانیه بلرزد، بعد 3 ثانیه صبر کند و دوباره همین روند، تکرار شود. بنابراین برای همین روندی که مثال زده شد، کدهای زیر را اجرا می کنیم :
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace]Vibrator vibrator [COLOR=#339933]=[/COLOR] [COLOR=#009900]([/COLOR]Vibrator[COLOR=#009900])[/COLOR] [B]this[/B].[COLOR=#006633]getSystemService[/COLOR][COLOR=#009900]([/COLOR][COLOR=#003399]Context[/COLOR].[COLOR=#006633]VIBRATOR_SERVICE[/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR]
[COLOR=#000066][B]long[/B][/COLOR][COLOR=#009900][[/COLOR][COLOR=#009900]][/COLOR] pattern [COLOR=#339933]=[/COLOR] [COLOR=#009900]{[/COLOR][COLOR=#CC66CC]0[/COLOR], [COLOR=#CC66CC]100[/COLOR], [COLOR=#CC66CC]1000[/COLOR], [COLOR=#CC66CC]100[/COLOR], [COLOR=#CC66CC]3000[/COLOR][COLOR=#009900]}[/COLOR][COLOR=#339933];[/COLOR]
vibrator.[COLOR=#006633]vibrate[/COLOR][COLOR=#009900]([/COLOR]pattern, [COLOR=#CC66CC]0[/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR][/FONT]
[/FONT][/COLOR]
الگوی لرزش و عدم لرزش، در متغیر pattern ذخیره شده است. عدد 0 نشان دهنده میزان تاخیر قبل از اولین لرزش است، عدد 100 اول، یعنی 100 میلی ثانیه بلرزد، عدد 1000 یعنی 1 ثانیه (1000 میلی ثانیه) صبر کند، سپس عدد 100 را داریم که یعنی دوباره 100 ثانیه بلرزد و در آخر هم عدد 3000 است که یعنی 3 ثانیه صبر کند. این روند، همین طور تکرار خواهد شد.

عدد درون پرانتز روش vibrate که برابر 0 انتخاب شده، جمله ای است که تکرار از آن شروع می شود. مثلا می توانیم تعیین کنیم که از 1 شروع شود. اگر قصد داریم که این الگو، تنها یک بار اجرا شود (بدون تکرار)، باید آن را برابر 1- قرار بدهیم :
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace]vibrator.[COLOR=#006633]vibrate[/COLOR][COLOR=#009900]([/COLOR]pattern, [COLOR=#339933]-[/COLOR][COLOR=#CC66CC]1[/COLOR][COLOR=#009900])[/COLOR][COLOR=#339933];[/COLOR][/FONT]
[/FONT][/COLOR]
اما کدهایی که ذکر شد، نیاز به افزودن اجازه دسترسی (permission) زیر دارد :
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace][COLOR=#339933]<[/COLOR]uses[COLOR=#339933]-[/COLOR]permission android[COLOR=#339933]:[/COLOR]name[COLOR=#339933]=[/COLOR][COLOR=#0000FF]"android.permission.VIBRATE"[/COLOR][COLOR=#339933]/>[/COLOR][/FONT]
[/FONT][/COLOR]
بنابراین باید فایل AndroidManifest.xml از پروژه اندروید را باز کرده و کد بالا را به آن اضافه کنیم. به عنوان مثال (مثالی از کدهای فایل AndroidManifest.xml) :
کد:
[COLOR=#000000][FONT=Tahoma][FONT=monospace][COLOR=#339933]<?[/COLOR]xml version[COLOR=#339933]=[/COLOR][COLOR=#0000FF]"1.0"[/COLOR] encoding[COLOR=#339933]=[/COLOR][COLOR=#0000FF]"utf-8"[/COLOR][COLOR=#339933]?>[/COLOR]
[COLOR=#339933]<[/COLOR]manifest xmlns[COLOR=#339933]:[/COLOR]android[COLOR=#339933]=[/COLOR][COLOR=#0000FF]"http://schemas.android.com/apk/res/android"[/COLOR]
    [B]package[/B][COLOR=#339933]=[/COLOR][COLOR=#0000FF]"com.kelidestan.com"[/COLOR]
    android[COLOR=#339933]:[/COLOR]versionCode[COLOR=#339933]=[/COLOR][COLOR=#0000FF]"1"[/COLOR]
    android[COLOR=#339933]:[/COLOR]versionName[COLOR=#339933]=[/COLOR][COLOR=#0000FF]"1.0"[/COLOR] [COLOR=#339933]>[/COLOR]

    [COLOR=#339933]<[/COLOR]uses[COLOR=#339933]-[/COLOR]sdk
        android[COLOR=#339933]:[/COLOR]minSdkVersion[COLOR=#339933]=[/COLOR][COLOR=#0000FF]"8"[/COLOR]
        android[COLOR=#339933]:[/COLOR]targetSdkVersion[COLOR=#339933]=[/COLOR][COLOR=#0000FF]"18"[/COLOR] [COLOR=#339933]/>[/COLOR]
    
    [COLOR=#339933]<[/COLOR]uses[COLOR=#339933]-[/COLOR]permission android[COLOR=#339933]:[/COLOR]name[COLOR=#339933]=[/COLOR][COLOR=#0000FF]"android.permission.VIBRATE"[/COLOR][COLOR=#339933]/>[/COLOR]

    [COLOR=#339933]<[/COLOR]application
        android[COLOR=#339933]:[/COLOR]allowBackup[COLOR=#339933]=[/COLOR][COLOR=#0000FF]"true"[/COLOR]
        android[COLOR=#339933]:[/COLOR]icon[COLOR=#339933]=[/COLOR][COLOR=#0000FF]"@drawable/ic_launcher"[/COLOR]
        android[COLOR=#339933]:[/COLOR]label[COLOR=#339933]=[/COLOR][COLOR=#0000FF]"@string/app_name"[/COLOR]
        android[COLOR=#339933]:[/COLOR]theme[COLOR=#339933]=[/COLOR][COLOR=#0000FF]"@style/AppTheme"[/COLOR] [COLOR=#339933]>[/COLOR]
        [COLOR=#339933]<[/COLOR]activity
            android[COLOR=#339933]:[/COLOR]name[COLOR=#339933]=[/COLOR][COLOR=#0000FF]"com.kelidestan.com.MainActivity"[/COLOR]
            android[COLOR=#339933]:[/COLOR]label[COLOR=#339933]=[/COLOR][COLOR=#0000FF]"@string/app_name"[/COLOR] [COLOR=#339933]>[/COLOR]
            [COLOR=#339933]<[/COLOR]intent[COLOR=#339933]-[/COLOR]filter[COLOR=#339933]>[/COLOR]
                [COLOR=#339933]<[/COLOR]action android[COLOR=#339933]:[/COLOR]name[COLOR=#339933]=[/COLOR][COLOR=#0000FF]"android.intent.action.MAIN"[/COLOR] [COLOR=#339933]/>[/COLOR]

                [COLOR=#339933]<[/COLOR]category android[COLOR=#339933]:[/COLOR]name[COLOR=#339933]=[/COLOR][COLOR=#0000FF]"android.intent.category.LAUNCHER"[/COLOR] [COLOR=#339933]/>[/COLOR]
            [COLOR=#339933]</[/COLOR]intent[COLOR=#339933]-[/COLOR]filter[COLOR=#339933]>[/COLOR]
        [COLOR=#339933]</[/COLOR]activity[COLOR=#339933]>[/COLOR]
    [COLOR=#339933]</[/COLOR]application[COLOR=#339933]>[/COLOR]

[COLOR=#339933]</[/COLOR]manifest[COLOR=#339933]>[/COLOR][/FONT]
[/FONT][/COLOR]
نکته :

چنانچه کد را اجرا کردید و لرزش گوشی (vibrate) اتفاق نیفتاد، ممکن است در تنظیمات گوشی، شدت لرزش برای notification ها برابر صفر (عدم لرزش) تعیین شده باشد. برای چک کردن این مورد، ابتدا به بخش تنظمات گوشی خود بروید و گزینه مربوط به صدا (Sound) را بیابید و بر روی آن اشاره کنید:

1259.jpg

در صفحه ای که نمایش داده می شود، بر روی گزینه Vibration intensity اشاره کنید :


1260.jpg

در صفحه ای که نمایش داده می شود، شدت لرزش برای Notification را برابر یک مقدار دلخواه (مقداری غیر از صفر) قرار بدهید و تغییرات را ذخیره کنید :


1261.jpg

منبع: kelidestan
 
بالا