空意图过滤器给我带来了问题

时间:2013-07-18 11:12:08

标签: android intentfilter

我有一个需要启动和停止活动的应用程序。

到目前为止,我们可以启动活动。

当我尝试停止活动时出现问题。

这是播放关闭活动意图的AlarmManager:

        Intent ftue = new Intent(ctxt, VideoActivty.class);
        ftue.putExtra("finish", true);
        PendingIntent pftue = PendingIntent.getBroadcast(ctxt, 0, ftue, 0);
        Calendar calSet4 = Calendar.getInstance();
        calSet4.set(Calendar.MONTH, c.get(Calendar.MONTH));
        calSet4.set(Calendar.YEAR, c.get(Calendar.YEAR));
        calSet4.set(Calendar.DAY_OF_WEEK, 3);
        calSet4.set(Calendar.HOUR_OF_DAY, hftue);
        calSet4.set(Calendar.MINUTE, mftue);
        calSet4.set(Calendar.SECOND, 0);
        calSet4.set(Calendar.MILLISECOND, 0);

        //calSet.setTimeZone(TimeZone.getTimeZone("UTC"));
        mgr.setRepeating(AlarmManager.RTC_WAKEUP, calSet4.getTimeInMillis(),
                7 * 24 * 60 * 60 * 1000, pftue);

在我的Activty中我实现了一个应该关闭Activty的BroadcastReceiver。

@Override
public void onResume() {
super.onResume();
IntentFilter f=new IntentFilter();
registerReceiver(receiver, f);
}


@Override
public void onPause() {
unregisterReceiver(receiver);
super.onPause();
}

BroadcastReceiver receiver=new BroadcastReceiver() {
    public void onReceive(Context context, Intent intent) {
        Log.e("","intento ricevuto");
        if(intent.getBooleanExtra("finish",false))finish();

    }
};

我的应用程序没有收到广播的意图,我理解这是因为意图过滤器是空的。

请问我该如何实施意图过滤器以接收广播?

谢谢!

1 个答案:

答案 0 :(得分:1)

为什么你的意图过滤器是空白的?您可以将意图操作编写为任何字符串(但在SDK操作中不应存在)

//喜欢

IntentFilter f = new IntentFilter("com.android.INTENT_ACTION_TO_CLOSE_ACTIVITY");

并使用

Intent mIntent = new Intent("com.android.INTENT_ACTION_TO_CLOSE_ACTIVITY");
sendBroadcast(mIntent);

在条件下,当您要关闭活动时。