在Android中模拟广播
我需要知道如何模拟broadcastreceiver
。
我有以下代码,但我不知道如何真正了解它何时接收广播。
public class LocationBroadcastReceiver extends BroadcastReceiver
{
@Override
public void onReceive(Context context, Intent intent) {
Bundle b = intent.getExtras();
Location loc = (Location)b.get(android.location.LocationManager.KEY_LOCATION_CHANGED);
Toast.makeText(context, loc.toString(), Toast.LENGTH_SHORT).show();
Log.d("com.dennis.test","LOCATION: " + loc.toString());
}
}
在我的清单中,我有以下几点:
<receiver android:name="com.dennis.test.LocationBroadcastReceiver">
<intent-filter>
<action android:name="android.location.LocationManager.KEY_LOCATION_CHANGED" />
</intent-filter>
</receiver>
转到安装了android-sdk的文件夹,然后转到平台工具。 将会有一些可执行文件。 其中之一是'adb'。
在文件夹中时,执行
./adb shell am broadcast -a android.intent.action.KEY_LOCATION_CHANGED -c android.intent.category.HOME -n com.dennis.test / .LocationBroadcastReceiver
或在Windows上
广播外壳广播-a android.intent.action.KEY_LOCATION_CHANGED -c android.intent.category.HOME -n com.dennis.test / .LocationBroadcastReceiver
您还应该能够使用MockLocation从您的可执行文件或JUnit中生成。 我没有使用它,但这是它的目的。
它可能在功能上类似于@ user1258903的答案,但应该能够发送到很远的位置(即北极,妈妈的房子,海底等)。这样你可以测试你的计算和地图集成等你可能拥有。
如何在Android模拟器中模拟GPS位置?
链接地址: http://www.djcxy.com/p/90653.html