ورود

View Full Version : نمایش نوتیفیکیشن در یک زمان خاص



arminbadakh
یک شنبه 11 بهمن 1394, 13:08 عصر
سلام من میخواستم برنامه م ساعت 9صبح یک نوتیفیکیشن نمایش بدهد ولی نمیدونم چجوری این کارو بکنم ممنون میشم اگر راهنماییم کنید

parham01
یک شنبه 11 بهمن 1394, 17:43 عصر
سلام بیا سورس آلارم استفاده کن تو نت هست
این الارم میاد تو زمان تعیین شده
یه فعالیت خاص انجام میده
شما بیا بهش یه نوتیفکشن بده

arminbadakh
یک شنبه 11 بهمن 1394, 21:27 عصر
من خیلی گشتم ولی جواب نگرفتم این کدمه






public class Alarm extends BroadcastReceiver
{
@Override
public void onReceive(Context context, Intent intent)
{


// Put here YOUR code.
Toast.makeText(context, "Alarm !!!!!!!!!!", Toast.LENGTH_LONG).show(); // For example
}

public void SetAlarm(Context context)
{
AlarmManager am =( AlarmManager)context.getSystemService(Context.ALAR M_SERVICE);
Intent i = new Intent(context, Alarm.class);
PendingIntent pi = PendingIntent.getBroadcast(context, 0, i, 0);
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.HOUR_OF_DAY, 6);
calendar.set(Calendar.MINUTE, 11);
calendar.set(Calendar.SECOND, 00);
am.setRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis(), 86400000, pi); // Millisec * Second * Minute
}

public void CancelAlarm(Context context)
{
Intent intent = new Intent(context, Alarm.class);
PendingIntent sender = PendingIntent.getBroadcast(context, 0, intent, 0);
AlarmManager alarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
alarmManager.cancel(sender);
}
}


//------------------------------------------------------------------------------------------


public class YourService extends Service
{
Alarm alarm = new Alarm();
public void onCreate()
{
super.onCreate();
}

@Override
public int onStartCommand(Intent intent, int flags, int startId)
{
alarm.SetAlarm(this);
return START_STICKY;
}

@Override
public void onStart(Intent intent, int startId)
{
alarm.SetAlarm(this);
}

@Override
public IBinder onBind(Intent intent)
{
return null;
}
}
//-------------------------------------------------------------


public class AutoStart extends BroadcastReceiver
{
Alarm alarm = new Alarm();
@Override
public void onReceive(Context context, Intent intent)
{
if (intent.getAction().equals(Intent.ACTION_BOOT_COMP LETED))
{
alarm.SetAlarm(context);
}
}
}
//-------------------------------------------------------------




<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.tomcatfire.myapplication">

<uses-permission android:name="android.permission.WAKE_LOCK"></uses-permission>
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"></uses-permission>
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">

<receiver android:process=":remote" android:name=".Alarm"></receiver>

<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>


<receiver android:name=".AutoStart">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED"></action>
</intent-filter>
</receiver>

<service
android:name=".YourService"
android:enabled="true"
android:process=":your_service" >
</service>
</application>

</manifest>


من میخوام فقط و فقط هروز ساعت ۶:۱۱ دقیقه ی صبح نوتیفیکیشن م نمایش داده بشه