【发布时间】:2012-10-22 18:17:14
【问题描述】:
Android/Java 新手,我正在使用 AddProximityAlert()。我在下面有以下代码块,并且不断收到错误。有人可以解释 Eclipse 在说什么,以及如何解决我遇到的 getBroadcast 和 registerReceiver 错误吗?
在 SecondaryActivity.java 文件中,我有 2 个广播接收器,这可能是原因吗?
SecondaryActivity.java:
public class SecondaryActivity extends BroadcastReceiver {
public void onReceive(Context context, Intent intent) {
.
.
.
lm = (LocationManager)context.getSystemService(Context.LOCATION_SERVICE);
Location location = lm.getLastKnownLocation(LocationManager.GPS_PROVIDER);
double latitude = location.getLatitude();
double longitude = location.getLongitude();
float radius = 100f;
long expiration = -1;
final String PROX_ALERT_INTENT = "com.example.test";
Intent intent = new Intent(PROX_ALERT_INTENT);
PendingIntent proximityIntent = PendingIntent.**getBroadcast**(this, 0, intent, 0);
lm.addProximityAlert(latitude, longitude, radius, expiration, proximityIntent);
IntentFilter filter = new IntentFilter(PROX_ALERT_INTENT);
**registerReceiver**(new ProximityIntentReceiver(), filter);
.
.
.
private class ProximityIntentReceiver extends BroadcastReceiver {
...
getBroadcast:PendingIntent类型中的getBroadcast(Context, int, Intent, int)方法不适用于参数(SecondaryActivity, int, Intent, int)
registerReceiver:方法 registerReceiver(SecondaryActivity.ProximityIntentReceiver, IntentFilter) 未定义为 SecondaryActivity 类型
【问题讨论】:
-
你的
SecondaryActivity类是否扩展了Activity? -
“public class SecondaryActivity extends BroadcastReceiver {”和“public class SecondaryActivity extends BroadcastReceiver {”我有一个“私有类 ProximityIntentReceiver extends BroadcastReceiver {”
-
我不认为我需要另一个活动,如果触发了接近警报,我只想在当前活动中调用一个方法......如果还有其他方法可以做到这一点,我想知道!谢谢~
标签: java android broadcastreceiver alert android-pendingintent