从Activiy开始我的服务我使用startService(MyService.class).这很好用,但在特殊情况下,服务应该以不同的方式启动.我想将一些参数传递给服务启动.
我在我的活动中尝试了以下内容:
Intent startMyService= new Intent();
startMyService.setClass(this,LocalService.class);
startMyService.setAction("controller");
startMyService.putExtra(Constants.START_SERVICE_CASE2, true);
startService(startMyService);
Run Code Online (Sandbox Code Playgroud)
在我的服务中我使用:
public class MyIntentReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals("controller"))
{
// Intent was received
}
}
}
Run Code Online (Sandbox Code Playgroud)
IntentReceiver在onCreate()中注册如下:
IntentFilter mControllerIntent = new IntentFilter("controller");
MyIntentReceiver mIntentReceiver= new MyIntentReceiver();
registerReceiver(mIntentReceiver, mControllerIntent);
Run Code Online (Sandbox Code Playgroud)
使用此解决方案,服务启动但未收到意图.如何启动服务并传递参数?
谢谢你的帮助!
我在OpenLayers的地图上绘制点,如下例所示:http://dev.openlayers.org/examples/draw-feature.html
现在我想知道,这个绘制点覆盖了哪个区域(以米为单位).我知道,这取决于缩放级别.这也是我的计划:我想用不同的尺寸绘制我的点 - 取决于缩放级别.如果缩放级别最大,则该点应该很大.如果缩放级别较低,则应将该点绘制得非常小.
有谁有想法,如何从像素到米计算点大小?