ANDROID:用户退出应用程序后,将数据发送到Parse SDK数据库

时间:2015-08-19 20:05:05

标签: java android broadcastreceiver

我想在用户退出我的应用程序时发送数据来解析SDK 我可以通过解析SDK发送数据,但我希望它在用户退出应用程序后立即发送 现在,我的代码如下所示:

  

主要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;
        }
    }
}

我在android.manifest文件中注册了接收器,如下所示:

<receiver android:name=".utilities.AlarmBroadcastReciver">

            <intent-filter>
                <action android:name="Intent">
                </action>
            </intent-filter>

        </receiver>

1 个答案:

答案 0 :(得分:0)

这是应用程序中唯一的一个活动吗?

有可能会覆盖Activity onStop()方法。每次以某种方式隐藏活动时都会调用它 - 这是一个新活动,用户返回到桌面&#34;等等。您可以使用此方法发送数据。

@Override
protected void onStop() {
    super.onStop();

    Log.d(TAG, "ON STOP");
}

我不确定你是否应该在super.onStop()之前或之后调用send方法,试试吧。