通过意图将服务中的参数发送到活动

时间:2013-08-24 20:26:21

标签: android android-activity intentservice start-activity extra

如何将数据从服务发送到活动?

当服务需要从背景打开特定活动时,如果此活动不在后台(已杀死),则需要打开新实例。

问题是:

所以,我该如何打开这个活动(形成用户做什么手机,而不是收到参数?

服务

public void sendDataToActivity(int dialog) {
        Intent intent = new Intent(getBaseContext(), MainActivity.class);
        intent .setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        intent .putExtra("dialogToUser", dialog);
        getApplication().startActivity(dialogIntent); 
}

主要 - 活性

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

   //Get Extras and run NumAlert(operation)
   Bundle extras = getIntent().getExtras();
   if (extras.containsKey("dialogToUser") ) {
   int operation = extras.getInt("dialogToUser");
       NumAlert ( operation );
   }
}

它不适合我,有什么不对?

1 个答案:

答案 0 :(得分:0)

创建自定义BroadcastReceiver以从服务发回数据,这是教程link

或者如果您想从您的Activity调用服务,您想要的是绑定服务。它会将您的服务绑定到变量,您可以在Activity中使用它。