1

为了

public Intent (Context packageContext, Class <> cls)

如何设置类以访问内部类?通常我会这样做:

new Intent(this, NAMEOFCLASS.class)

但是如果我想使用内部类呢?

这行得通吗?

new Intent(this, NAMEOFCLASS.class.INNERCLASS.class)

内部类是扩展广播接收器的类。我想创建一个挂起的意图,它将向内部类发送广播。

public class IntentServiceBroadcast extends IntentService {

private broadcastReceiver BroadcastReceiver = new broadcastReceiver();

private class broadcastReceiver extends BroadcastReceiver
  {
    @Override
    public void onReceive(Context context, Intent intent)
    {

    }
  }

然后使用 alarmManager 发送一个 PendingIntent

PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 0,
            new Intent(this, IntentServiceBroadcast.BroadcastReceiver.class), 0);

alarmManager.set(AlarmManager.RTC_WAKEUP, getTime()
                .getTimeInMillis(), pendingIntent);

不确定上面的代码是否有效。

4

3 回答 3

1

Instead of

new Intent(this, IntentServiceBroadcast.BroadcastReceiver.class)

Use

new Intent(ACTION)

Register a receiver to listen and BAM!

于 2013-10-22T19:54:02.423 回答
0

由于我无法直接在您的帖子下回复,您能否更具体地说明您为什么要这样做?就像,发布一些代码。

据我所知,使意图的第二个参数不直接扩展 Activity 有点奇怪。当您执行一个意图时,您需要将其Context作为第一个参数传递,以及您希望该意图从当前上下文更改的类的名称。

所以我认为内部类在这种情况下并不合适。那么,您能给我们一些启发吗?

于 2013-10-22T18:01:55.670 回答
0

如果您的课程是一种您可以调用thisyourclassname.this调用的课程,但如果您不能这样做:

1)在下面写下这段代码 class ########## extends ##############

Context con;

2)然后写con而不是thisyourclassname.this

完成的!

于 2013-10-22T18:20:48.713 回答