这里是我的代码,我给出了错误发生的注释行(在catch异常中)。有人能帮忙吗?非常感谢。代码:
public class AlarmReceiver extends BroadcastReceiver {
XMLRPCClient client = null;
private DBclass db;
int flagPass = 0;
@Override
public void onReceive(Context context, Intent intent) {
// For our recurring task, we'll just display a message
try{
// Create an object to represent the server.
client = new XMLRPCClient(new URL("...server.php"));
if(intent.getStringExtra("ID").equalsIgnoreCase("ON")){
try {
int flag = 0;
try {
ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
List<ActivityManager.RunningAppProcessInfo> task = am.getRunningAppProcesses();
for (int i = 0; i < task.size(); i++) {
if (task.get(i).processName.equalsIgnoreCase("com.example.test")) {
flag = 1;
break;
}
}
}catch (Exception ex){
flag = 0;
}
if(flag == 0){
HashMap<String, String> params = new HashMap<String, String>();
params.put("COMMAND", "ACON");
try {
// update buffer
client.call("updateDataCommand", params);
} catch (XMLRPCException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
catch (Exception ex) {
// error here, always catched here
flagPass = 1;
}
if(flagPass == 1){
HashMap<String, String> params = new HashMap<String, String>();
params.put("COMMAND", "ACON");
// program error here (apps forced close), unfortunately...
try {
// update buffer
client.call("updateDataCommand", params);
} catch (XMLRPCException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
下面是错误消息:java.lang.RuntimeException:无法在Android.app.ActivityThread.Handlereceiver(ActivityThread.java:2732)启动接收器Android.os.NetworkonMainThreadException...在android.app.activitythread.main(activitythread.java:5417)...原因:android.os.networkonmainthreadexception在android.os.strictmode$androidBlockGuardPolicy.onNetwork(strictmode.java:1273)在java.net.inetaddress.lookupHostByName(inetaddress.java:431)在java.net.inetaddress.getallbyNameImpl(inetaddress.java:252)
当应用程序尝试在其主线程上执行网络操作时,会引发此异常。在AsyncTask或后台线程中运行代码
@Override
public void onReceive(Context context, Intent intent) {
new Thread(new Runnable() {
@Override
public void run() {
//put your code here
}
}).start();
}
是上面的代码少了点什么,还是有什么其他的方式可以在所有android版本上工作? 请建议。多谢了。
我可以通过firebase FCM打开活动,但这只适用于android
我做了一个jsf应用程序。这个应用程序有一个包含开始、停止按钮的菜单。当按下开始时,应用程序开始从网站获取数据,并更新其数据库。应用程序还有更新过程的进度条。但是,这个过程需要很长时间才能完成。我希望当我关闭浏览器时,它应该继续更新数据库。此外,当我再次打开它时,我应该得到以前的状态。然而,这并没有发生。当我关闭浏览器时,应用程序也关闭了。我该怎么办? 谢谢。
问题内容: 我在JPopupMenu中有一个JComboBox(以及其他组件)。事实证明,每当我打开组合框的弹出窗口(以选择一个项目)时,父级JPopupMenu都会关闭。我一直在尝试找到一种方法来覆盖此功能,但无济于事。 有没有人建议防止关闭父级JPopupMenu?谢谢! 问题答案: 这不可能直接实现,很难覆盖已知的错误,另一方面,Swing不允许同时使用两个lightwieght弹出组件 但
当应用程序完全关闭时,如何以编程方式发送通知? 示例:用户关闭应用程序,也在Android Taskmanager中,然后等待。应用程序应在X秒后或应用程序检查更新时发送通知。 我试图使用这些代码示例,但是: 应用程序关闭时推送通知-活动太多/无法工作 我如何让我的应用程序在关闭时发送通知很多信息,但我不知道如何处理 当android应用程序关闭时,如何发送本地通知?-很多信息,但我不知道如何处理
库继续正确扫描,但在此模式下没有检测到信标。 我尝试实现 谢谢阅读,希望你能帮上忙。