Android 通过意图将参数从服务发送到活动

Android 通过意图将参数从服务发送到活动,android,android-activity,intentservice,start-activity,extra,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);

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

当服务需要从后台打开一个特定的活动时(),或者如果该活动不在后台,甚至需要打开一个新实例(

问题是:

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 );
   }
}
那么,我如何打开此活动(从用户使用手机所做的操作中,收到参数?

服务:

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 );
   }
}
主要活动:

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 );
   }
}

它对我不起作用,有什么问题吗???

创建一个自定义广播接收器,从服务发送数据回来,下面是教程


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

我了解您编写的内容,并尝试过,但有一个问题,因为即使活动关闭,服务也会一直运行。而且接收器会关闭我不行