我知道有很多问题,但我真的不知道我的错误在哪里.
我的服务已在AndroidManifest.xml文件中注册
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.android.app" > ... <service android:name="com.example.android.app.ScheduledService"> </service> </application> </manifest>
我的服务扩展了IntentService
public class ScheduledService extends IntentService { public ScheduledService() { super("ScheduledService"); } @Override protected void onHandleIntent(Intent intent) { Log.d(getClass().getSimpleName(),"I ran!"); } }
我的活动启动服务
public class MainActivity extends ActionBaractivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Log.d(getClass().getSimpleName(),"Setting alarm!!"); AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE); Intent alarmIntent = new Intent(this,com.example.android.app.ScheduledService.class); PendingIntent pending = PendingIntent.getbroadcast(this,alarmIntent,0); alarmManager.set(AlarmManager.ELAPSED_REALTIME_WAKEUP,SystemClock.elapsedRealtime() + 10 * 1000,pending); } }
我在日志中没有看到任何异常.还有什么我应该做的设置我的闹钟?
解决方法
如
documentation所示,PendingIntent.getbroadcast()用于检索将执行广播的PendingIntent,如调用Context.sendbroadcast().
您需要调用PendingIntent.getService(),这将启动IntentService:
PendingIntent pending = PendingIntent.getService(this,0);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。