Android:Intent(Context packageContext,Class <! - ? - > cls)使用内部类?

时间:2013-10-22 17:56:15

标签: android class android-intent

有关     

public Intent (Context packageContext, Class <> cls)

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

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);

不确定上述代码是否有效。

3 个答案:

答案 0 :(得分:1)

而不是

new Intent(this, IntentServiceBroadcast.BroadcastReceiver.class)

使用

new Intent(ACTION)

注册接收器以收听和BAM!

答案 1 :(得分:0)

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

根据我所知,将intent的第二个参数设置为不直接扩展Activity的东西有点奇怪。当你执行一个intent时,你需要将它的 Context 作为第一个参数,以及你想要从当前上下文改变的类的名称。

所以我认为在这种情况下内部类不合适。那么,你能不能通过这种情况来启发我们呢?

答案 2 :(得分:0)

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

1)将此代码写在class ########## extends ##############

Context con;

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

完成!