经过自己的探索,终于在Receiver里面成功调用自己了,用如下代码:
//如果监听到网络状态变化,则调用一次自己,主要功能在主程序中实现。
Intent i = new Intent(context, MyprogramActivity.class);
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(i);同时,在主程序中调用com.dragon.netguard也成功了,但用的办法和Receiver里面是不一样的:
Intent intent = new Intent();
intent.setComponent(new ComponentName("com.dragon.netguard","com.dragon.netguard.MainActivity"));
startActivity(intent);现在还有两个问题需要解决,一个是怎么杀掉com.dragon.netguard,另一个就是在上面重启com.dragon.netguard的时候,怎么样才能让netguard不显示界面,直接在后台悄悄运行。继续请教高手谢谢!
//如果监听到网络状态变化,则调用一次自己,主要功能在主程序中实现。
Intent i = new Intent(context, MyprogramActivity.class);
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(i);同时,在主程序中调用com.dragon.netguard也成功了,但用的办法和Receiver里面是不一样的:
Intent intent = new Intent();
intent.setComponent(new ComponentName("com.dragon.netguard","com.dragon.netguard.MainActivity"));
startActivity(intent);现在还有两个问题需要解决,一个是怎么杀掉com.dragon.netguard,另一个就是在上面重启com.dragon.netguard的时候,怎么样才能让netguard不显示界面,直接在后台悄悄运行。继续请教高手谢谢!
context.startService(localIntent3);
MyprogramActivity是个Activity吧》为什么用启动service方法启动呢?
在上面的程序中,如果用localActivityManager的话,那么只要一执行,就发生致命错误,强制退出了。
如果用下面的ActivityManager mymanager = (ActivityManager)getSystemService(ACTIVITY_SERVICE);那么eclipse提示错误,说:The method getSystemService(Object) is undefined for the type NetworkReceiver.java。
发生致命错误是因为am是空的吧?没有看到初始化的地方!其他没看出什么有可能出问题的地方。