7

我们可以在后台进程的未决意图中传递参数吗?

  Intent ij = new Intent(context,DemoActivity.class);
  PendingIntent operation = PendingIntent.getActivity(getBaseContext(),0,ij,Intent.FLAG_ACTIVITY_NEW_TASK);
  AlarmManager alarmManager = (AlarmManager) getBaseContext().getSystemService(ALARM_SERVICE);
  GregorianCalendar calendar = new GregorianCalendar(y, m, d,hr, mi);
  long alarm_time = calendar.getTimeInMillis();
  alarmManager.set(AlarmManager.RTC_WAKEUP,alarm_time,operation);

在此,我使用警报管理器来启动后台进程。通过使用这种方法,我可以传递任何变量或参数吗?

public class DemoActivity extends FragmentActivity {


protected void onCreate(Bundle savedInstanceState) {        
    super.onCreate(savedInstanceState); 
/** Creating an Alert Dialog Window */
    AlertDemo alert = new AlertDemo();

    /** Opening the Alert Dialog Window */
    alert.show(getSupportFragmentManager(), "AlertDemo");       
}
}

在警报演示类中,我只使用一个警报框..现在帮助我,在哪里放置 Put Exatra 方法?..

4

1 回答 1

10

是的,您可以在待处理的 Intent 中传递变量,如下所示:

            Intent in = new Intent(context, DemoActivity.class );
            in.putExtra( "notification_id", REGISTER_NOTIF_ID);  
            in.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            in.putExtra("2", Variable);
            in.putExtra("1", Variable);
            in.putExtra("IMData", Variable);
            PendingIntent contentIntent = PendingIntent.getActivity(context, 0, in, 0);

并在您的 DemoActivity 类的 onCreate 中执行以下操作:

    Bundle extras = getIntent().getExtras();

    userGetId = extras.getString("2");
    userNameRecv = extras.getString("1");
    userFriendId = extras.getString("IMData")
于 2012-12-12T05:40:52.110 回答