在javascript中使用localstorage时遇到问题.我有两个javascript文件和一个多页html文件.我将变量的值设置为存储在home.js类的本地存储中,然后我想在editCase.js类中获取相同变量的值.这可能吗?这里的目标是在html文件中使用变量的几个位置.
home.js:
var _NSCaseId;
var nsId;
$("#listOfCases li").click(function(){
nsId = $(this).attr('id');
LocalStorage.save(_NSCaseId, nsId);
alert(nsId);
});
Run Code Online (Sandbox Code Playgroud)
如您所见,该值是listview项的id.此工作正常,警报每次都显示正确的值.
然后我想在editCase.js文件中使用相同的变量:
var id = LocalStorage.get(_NSCaseId);
alert(id);
Run Code Online (Sandbox Code Playgroud)
但我在logcat中收到错误,说在editCase.js中未定义_NSCaseId
有什么建议?
我有一个停止我已经开始的服务的问题.
用户登录时会调用该服务,并开始跟踪用户的位置.这工作正常.当用户按下注销按钮并成功注销时,该服务将停止.
这是一个Android服务,通过HTML按钮通过JavaScript界面调用.
这是我的Main Class,它包含启动和停止服务的方法:
public class CasesMain extends DroidGap {
Intent gpsTracking;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
super.init();
appView.addJavascriptInterface(this, "StartGPS");
super.loadUrl(Config.getStartUrl());
}
public void startGPS(){
gpsTracking = new Intent(this, MyService.class);
startService(gpsTracking);
}
public void stopGPS(){
stopService( gpsTracking );
}
Run Code Online (Sandbox Code Playgroud)
}
这是MyService类:
public class MyService extends Service {
private LocationManager locManager;
private LocationListener locListener = new myLocationListener();
private boolean gps_enabled = false;
private boolean network_enabled = false;
private Handler handler = new Handler();
Thread t;
@Override
public IBinder …Run Code Online (Sandbox Code Playgroud)