我的目标是在改变Wi-Fi状态时打印日志.
我使用下面的代码.
MainActivity.java(主要活动)
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
startService(new Intent(this,WiFiService.class));
}
@Override
protected void onStart()
{
super.onStart();
Log.d("Start Service", "Start Service");;
startService(new Intent(this,WiFiService.class));
}
}
Run Code Online (Sandbox Code Playgroud)
WiFiService.java(服务)
public class WiFiService extends Service
{
WiFiBroadCasetReceiver brod;
@Override
public IBinder onBind(Intent intent)
{
return null;
}
@Override
public void onStart(Intent intent, int startId) {
super.onStart(intent, startId);
brod=new WiFiBroadCasetReceiver();
this.registerReceiver(brod, new IntentFilter(WifiManager.SUPPLICANT_STATE_CHANGED_ACTION));
}
@Override
public void onDestroy()
{
super.onDestroy();
}
}
Run Code Online (Sandbox Code Playgroud)
WiFiBroadCasetReceiver.java(BroadcastReceiver)
public class WiFiBroadCasetReceiver …Run Code Online (Sandbox Code Playgroud) 我有关于重新加载视图的问题.
我在我的应用程序中使用tabbar.当我按下主页按钮,我的应用程序在后台.现在我的问题是从现在开始.我希望每次显示第一个标签时.所以,每次我获得第一个标签栏的视图.但是当我得到第一个tabbar的视图时,我viewDidAppear()在AppDelegate中调用了第一个tabar的viewController,如下所示:
- (void)applicationDidBecomeActive:(UIApplication *)application
{
self.tabBarController.selectedViewController=[self.tabBarController.viewControllers objectAtIndex:0];
[navigationController1 popToRootViewControllerAnimated:YES];
[navigationController2 popToRootViewControllerAnimated:YES];
[navigationController3 popToRootViewControllerAnimated:YES];
[navigationController4 popToRootViewControllerAnimated:YES];
[navigationController5 popToRootViewControllerAnimated:YES];
simpleTableViewController *s = [[simpleTableViewController alloc]initWithNibName:@"simpleTableViewController" bundle:nil];
[s viewDidAppear:YES];
}
Run Code Online (Sandbox Code Playgroud)
因此,viewDidAppear()调用并加载数据并打印日志.但视图不会重新加载或刷新.表示tableview没有任何影响.从服务器加载的数据显示在tableview中.
我使用以下代码进行重新加载或刷新视图:
[self.view setNeedsLayout];
[self.view setNeedsDisplay];
[tabledata reloadData];
Run Code Online (Sandbox Code Playgroud)
但它没有受到影响.
提前致谢.