简体   繁体   English

使用Alarm Manager广播数据

[英]Broadcast Data using Alarm Manager

I am trying to send data to my parse SDK Database using Alarm Manager. 我正在尝试使用Alarm Manager将数据发送到我的解析SDK数据库。

I am able to send data without Alarm manager. 我可以在没有Alarm manager的情况下发送数据。

My below code is not working correctly as parse sdk database is not showing updated data. 我的下面的代码无法正常工作,因为解析sdk数据库没有显示更新的数据。

Here is my code: 这是我的代码:

Main Activity.java

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        setContentView(R.layout.create_todo);
        setTitle(R.string.create_todo);
        alarmMgr = (AlarmManager)getSystemService(Context.ALARM_SERVICE);
        Intent intent = new Intent(this, AlarmReceiver.class);
        alarmIntent = PendingIntent.getBroadcast(this, 0, intent, 0);

        alarmMgr.setInexactRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP,
                AlarmManager.INTERVAL_FIFTEEN_MINUTES,
                AlarmManager.INTERVAL_FIFTEEN_MINUTES, alarmIntent);
}

AlarmReceiver.java

public class AlarmReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        MyAsyncTask asyncTask = new MyAsyncTask();
        asyncTask.execute(new String[]{});
    }


    class MyAsyncTask extends AsyncTask<String,Void,String>
    {

        @Override
        protected String doInBackground(String... params) {
            try {
                ParseObject parseObject = new ParseObject("Todo");
                parseObject.put("name", "abc");
                parseObject.save();
            }
            catch(ParseException e)
            {
            }
            return null;
        }
    }
}

Register your broadcast in AndroidManifest.xml file AndroidManifest.xml文件中注册您的广播

Try below code: 试试以下代码:

alarm.setRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis() + AlarmManager.INTERVAL_FIFTEEN_MINUTES , AlarmManager.INTERVAL_FIFTEEN_MINUTES, pIntent); 

From above code, Below things will be happened. 从上面的代码,下面的事情将发生。

first time Broadcast will be fired after 15 min. 第一次广播将在15分钟后被解雇。 then it will be fired every 15 min. 然后它将每15分钟发射一次。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM