java - 从 AlarmManger 启动的服务获取额外内容时的默认值

标签 java android android-intent alarmmanager

我正在安排这样的警报管理器:

Intent myIntent = new Intent(context, Locale.class);
            intent.putExtra("end",AlarmEnd.getTimeInMillis());

            PendingIntent pendingIntent = PendingIntent.getService(context, 0, myIntent, PendingIntent.FLAG_CANCEL_CURRENT);


            alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, AlarmStart.getTimeInMillis(), 40 * 1000, pendingIntent);

这样就可以了...问题出在它启动 Locale 时

public int onStartCommand(Intent intent, int flags, int startId) {
        int t = START_STICKY;
        SharedPreferences alarms = getApplicationContext().getSharedPreferences("alarms", 0);
        SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
        Log.i("LocalService", "Received start id " + startId + ": " + intent);
        client = new AsyncHttpClient();
        endTime = intent.getLongExtra("end",0);
        Log.d("Alarms", "End time is".concat(endTime.toString()));

调试消息始终输出默认值“结束时间为0”。我知道 Intent 上的额外内容不为零(检查过)。我做错了什么?

最佳答案

问题已解决

Intent **myIntent** = new Intent(context, Locale.class);
            **intent**.putExtra("end",AlarmEnd.getTimeInMillis());

问题是 Intent 的命名,我错误地将 Intent 附加项设置为“myIntent”附加项。我真傻。

关于java - 从 AlarmManger 启动的服务获取额外内容时的默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16576059/

相关文章:

java - Intellij IDEA @OneToMany mappedBy属性错误解决

Java Parse Xml Vimeo - 提取缩略图 url

java - 批处理文件如何接受 Java 的参数?

java - 在Android中为Imageview设置唯一的标签ID

java - 通知未显示在锁定屏幕上

Android - 如何从文档中获取选定的文件名

java - InOrder 遍历进入无限循环并仅打印第一个节点

android - DialogFragment 中的 Spinner 选项(来自 ABS 的 IcsSpinner)被截断显示

java - Android - 无法找到显式 Activity 类

java - 等待更新程序单例