Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/188.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java AlarmManager未启动我的服务_Java_Android_Service - Fatal编程技术网

Java AlarmManager未启动我的服务

Java AlarmManager未启动我的服务,java,android,service,Java,Android,Service,我无法让我的闹钟管理器启动我的服务 private PendingIntent mAlarmSender; mAlarmSender = PendingIntent.getService(MeetingManager.this,0, new Intent(MeetingManager.this, UpdateData.class), 0); long firstTime = SystemClock.elapsedRealtime(); AlarmManager am

我无法让我的闹钟管理器启动我的服务

private PendingIntent mAlarmSender;
    mAlarmSender = PendingIntent.getService(MeetingManager.this,0, new Intent(MeetingManager.this, UpdateData.class), 0);

    long firstTime = SystemClock.elapsedRealtime();

    AlarmManager am = (AlarmManager)getSystemService(ALARM_SERVICE); 
    am.setRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP, firstTime, 1*100, mAlarmSender);
我每5分钟在日志中看到一次以下内容。不确定是否与问题有关

12-13 11:16:17.104: DEBUG/SntpClient(58): request time failed: java.net.SocketException: Address family not supported by protocol
下面是我的UpdateData类:

package com.MeetingManager;

import android.app.Service;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.os.IBinder;
import android.util.Log;

public class UpdateData extends Service {
    public static final String PREFS_NAME = "MyAppData";        

        private static final String TAG = "MyApp";
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate();


            Log.d(TAG, "HELLO");


        }
        @Override
        public IBinder onBind(Intent arg0) {
            // TODO Auto-generated method stub
            Log.d(TAG, "NOT HELLO ");
            return null;
        }

    }
下面是我的清单:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.MeetingManager"
      android:versionCode="2"
      android:versionName="2.0">
    <uses-sdk android:minSdkVersion="8" />

    <application android:icon="@drawable/icon" android:label="@string/app_name">
        <activity android:name=".GetRoom"
                  android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name=".MeetingManager"></activity>
        <activity android:name=".XMLfunctions"></activity>
        <activity android:name=".CreateMeeting"></activity>     

        <service android:enabled="true" android:name=".UpdateData" />


    </application>

        <uses-permission android:name="android.permission.INTERNET" />
</manifest>


尝试将标志添加到您的意图中。根据我当前的代码,我将如何添加标志?可能由于频率太高,您的请求被忽略。您正在尝试每100ms向服务发送一条命令,这不是
AlarmManager
的设计目的。
Intent Intent=new Intent(MeetingManager.this,UpdateData.class)
intent.addFlags(intent.FLAG\u活动\u新任务)
,然后在getService中,您将用
Intent
替换
new Intent(…)
。不过,很有可能Commonware是正确的。在这种情况下,您应该保持服务活动并使用处理程序,然后调用
Handler.postDelayed(…)
Mie如下:alarmMgr.setInexactRepeating(AlarmManager.Essed\u REALTIME\u WAKEUP,SystemClock.elapsedRealtime()+30000,AlarmManager.INTERVAL\u十五分钟,PendingEvent);它仍然给出了同样的信息。