在服务中使用意图

时间:2015-03-16 20:09:18

标签: android

我可以在服务中使用意图吗?我应该放什么" ??????"?我需要在服务中调用一个pedingintent来发出警报.-

例如

public class CalcularHorasService extends Service
{
    public int horaR;
    public int minR;
    private PendingIntent pdIntAutomatico;

    @Override
    public int onStartCommand( Intent intent, int flags, int startId )
    {
        // This line is key
        android.os.Debug.waitForDebugger();
        Log.v( "SERVICIO", "Entro al servicio" );

        getCalcularHoraSalida();

        setAlarma();

        // Return
        return super.onStartCommand( intent, flags, startId );
    }

    /**
     * Set alarm
     */
    private void setAlarma()
    {
        Intent intSincroAuto = new Intent( ????, AlarmaActivarBroadAuto.class );
        pdIntAutomatico = PendingIntent.getBroadcast( ????, 0, intSincroAuto, 0);
    }
}

1 个答案:

答案 0 :(得分:1)

Intent的构造函数需要将上下文作为第一个参数,因此您可以放置​​this,因为您想在Service类中创建Intent。 ServiceContextThemeWrapper类(由Activity扩展)延伸ContextWrapper,其范围为Context

所以你的代码看起来像:

 Intent intSincroAuto = new Intent( this, AlarmaActivarBroadAuto.class );
 pdIntAutomatico = PendingIntent.getBroadcast( this, 0, intSincroAuto, 0);