0
这个问题类似于How to use getApplicationContext in BroadcastReceiver class?。如何使用BroadCastReceiver获取应用上下文
但我不知道他以前的活动如何。所以我不知道如何解决我的问题。
这是我的活动:
public class backgroundApplication extends Activity {
private PendingIntent pendingIntent;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.background_application);
/* Retrieve a PendingIntent that will perform a broadcast */
Intent alarmIntent = new Intent(backgroundApplication.this, AlarmReceiver.class);
pendingIntent = PendingIntent.getBroadcast(backgroundApplication.this, 0, alarmIntent, 0);
findViewById(R.id.startAlarm).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
start();
}
});
findViewById(R.id.stopAlarm).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
cancel();
}
});
findViewById(R.id.stopAlarmAt10).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startAt10();
}
});
}
完整的代码,我从这里得到它:http://javatechig.com/android/repeat-alarm-example-in-android
这是我AlarmReceiver.class扩展广播接收器实现IndoorAtlasListener:
public class AlarmReceiver extends BroadcastReceiver implements IndoorAtlasListener
{
@Override
public void onReceive(Context context, Intent intent) {
initIndoorAtlas();
}
private void initIndoorAtlas() {
try {
mIndoorAtlas = IndoorAtlasFactory.createIndoorAtlas(
getApplicationContext, // this is the redline
this, // IndoorAtlasListener
mApiKey,
mApiSecret);
} catch (IndoorAtlasException ex) {
Log.e("IndoorAtlas", "init failed", ex);
}
}
任何人都可以帮助我吗?
没有,不会工作..initIndoorAtlas不采取上下文作为参数 – Psypher
你试图修改这样吗?因为我认为你可以修改当前的方法,因为我已经说过了,它会将上下文作为参数......或者出现任何错误? 好的,如果这是接口方法,那么请参阅修改后的答案 –