Android将数据从Receiver发送到后台活动

时间:2015-01-30 22:21:03

标签: android

您好我在Manifest中注册了BroadcastReceiver。 我想将此接收器的数据发送到MainActivity,显示lis上的数据。 我做了一切在Receiver萌芽我不知道如何发送数据。

当函数onReceive可以工作时我将数据发送到后台活动, 即使应用程序最小化,这也应该有用。

我试着这个

Intent intent = new Intent(context, MainActivity.class);
intent .putExtra("value", data);
startActivity(intent );

但是我不希望onReceive立即开始工作。

2 个答案:

答案 0 :(得分:0)

您应该将此数据保存到接收器中的preferences / file / sql数据库,并在活动开始时加载它们

答案 1 :(得分:0)

这里有一个关于如何实现首选项和保存数据的想法,然后你可以在任何Activity上检索它们。

public class Calc extends Activity {
    public static final String PREFS_NAME = "MyPrefsFile";

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

       // Restore preferences
       SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
       boolean silent = settings.getBoolean("silentMode", false);
       setSilent(silent);
    }

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

      // We need an Editor object to make preference changes.
      // All objects are from android.context.Context
      SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
      SharedPreferences.Editor editor = settings.edit();
      editor.putBoolean("silentMode", mSilentMode);

      // Commit the edits!
      editor.commit();
    }
}