Mig*_*ore 11 android alarmmanager
我知道有很多问题,但我真的不知道我的错误在哪里.
我的服务已在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>
Run Code Online (Sandbox Code Playgroud)
我的服务扩展了IntentService
public class ScheduledService extends IntentService {
public ScheduledService() {
super("ScheduledService");
}
@Override
protected void onHandleIntent(Intent intent) {
Log.d(getClass().getSimpleName(), "I ran!");
}
}
Run Code Online (Sandbox Code Playgroud)
我的活动启动了该服务
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, 0, alarmIntent, 0);
alarmManager.set(AlarmManager.ELAPSED_REALTIME_WAKEUP,
SystemClock.elapsedRealtime() +
10 * 1000, pending);
}
}
Run Code Online (Sandbox Code Playgroud)
我没有在日志中看到任何异常.我还应该做些什么来设置我的闹钟?
ρяσ*_*я K 26
与在文档中一样,PendingIntent.getBroadcast()用于检索PendingIntent将执行广播的内容,例如调用Context.sendBroadcast().
你需要打电话PendingIntent.getService(),这将开始IntentService:
PendingIntent pending = PendingIntent.getService(this, 0, alarmIntent, 0);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9367 次 |
| 最近记录: |