安卓与广播有关的一个小问题

package com.example.broadcastbestpractice;

import android.app.AlertDialog;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.DialogInterface;
import android.content.DialogInterface.OnClickListener;
import android.content.Intent;
import android.view.WindowManager;

public class ForceOfflineReceiver extends BroadcastReceiver {

public void onReceive(final Context context, Intent intent) {
    // TODO Auto-generated method stub
    AlertDialog.Builder dialogBuilder=new AlertDialog.Builder(context);
    dialogBuilder.setTitle("Warning");
    dialogBuilder.setMessage("你被强制下线了,请重新登录!!");
    dialogBuilder.setCancelable(false);
    dialogBuilder.setPositiveButton("OK",new OnClickListener() {


        public void onClick(DialogInterface dialog, int which) {
            // TODO Auto-generated method stub
            ActivityCollector.finishAll();
            Intent intent=new Intent(context,LoginActivity.class);
            intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);   
            context.startActivity(intent);                    //为什么要调用context来启动呢?

        }
    });
    AlertDialog alertDialog=dialogBuilder.create();
    alertDialog.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);
    alertDialog.show();

}

}
就是后面为什么要通过context.startActivity(intent); 来启动活动呢?为什么不可以直接通过startActivity(intent)来启动,原因是什么?

点击事件里边的方法体,属于OnClickListener对象,引用不了activity里边的startActivity方法