在 Pending Intents Android 中传递值

Posted

技术标签:

【中文标题】在 Pending Intents Android 中传递值【英文标题】:Passing values in Pending Intents Android 【发布时间】:2012-11-29 18:44:36 【问题描述】:

我们能否在后台进程的未决意图中传递参数..

  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 方法?..

【问题讨论】:

我认为您可以使用 Intent ij 传递值。 @Gowri shankar,我已经编辑了答案检查 【参考方案1】:

是的,您可以在待处理的 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")

【讨论】:

请注意,此答案还显示了添加 Intent.FLAG_ACTIVITY_NEW_TASK 的正确方法,该方法在问题中使用不正确。 是的,我观察到了一个 如何在下一个活动(后台进程)中接收或获取变量!.. 通过这个我没有得到任何意图值事实上我在捆绑中得到空值

以上是关于在 Pending Intents Android 中传递值的主要内容,如果未能解决你的问题,请参考以下文章

java 在Android测试中如何使用espresso-intents的示例

java 常见的Android Intents,作为构建者

xml 使用Android Intents从图库/相机中拾取图像的实用程序

Android development Notes-3(Activity, Intents, and Tasks, Service, Content provider)

如何使用 Intents 将对象从一个 Android Activity 发送到另一个?

如何使用 Intents 将对象从一个 Android Activity 发送到另一个?