In my activity class
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
AlarmManager alarmManager=(AlarmManager) getSystemService(ALARM_SERVICE);
Intent intent = new Intent(MainActivity.this, AlarmReceiver.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(MainActivity.this, 0, intent, 0);
alarmManager.setRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP,System.currentTimeMillis(),2000, pendingIntent);
}
And My onrecieve function in alarmreciever class
@Override
public void onReceive(Context context, Intent intent)
{
//get and send location information
System.out.println("fired");
}
I am using nexus 4, kitkat version. I don't see any onreceive function fired every 2 minutes.nthg is happening... any help? thank you
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.alarmexample" android:versionCode="1" android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="20" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<activity
android:name=".MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<receiver
android:name="com.example.AlarmExample"
android:exported="false" >
</receiver>
</application>
</manifest>
I just put my manifest as well. ................................................
In your setRepeating function, you should use SystemClock.elapsedRealTime() for ELAPSED_REALTIME_WAKEUP. Also, you need to change 2000 to 2*60*1000 to specify your interval time.
Hope this helps.
Reference: ELAPSED_REALTIME_WAKEUP
EDIT: In your manifest file, there is a typo in your receiver name. Change ".AlarmReciever" to ".AlarmReceiver".
in your code you set the alarm this way
the interval time is wrong to run every two minutes you should write:
EDIT
for your pending intent set flag
PendingIntent.FLAG_UPDATE_CURRENT
and see if it changes anything.