在AndroidManifest.xml的application加个name属性就可以了,如下面所示:
android:name=".MyApp" android:icon="@drawable/icon"
android:label="@string/app_name">
/** 判断是否有网络 */ private boolean checkNetwork() { boolean flag = false; ConnectivityManager cwjManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); if (cwjManager.getActiveNetworkInfo() != null) flag = cwjManager.getActiveNetworkInfo().isAvailable(); if (!flag) { Builder b = new AlertDialog.Builder(this).setTitle("没有可用的网络").setMessage("请开启GPRS或WIFI网络连接"); b.setPositiveButton("确定", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { Intent mIntent = new Intent("/"); ComponentName comp = new ComponentName("com.android.settings", "com.android.settings.WirelessSettings"); mIntent.setComponent(comp); mIntent.setAction("<span hilite\">android</span>.intent.action.VIEW"); startActivity(mIntent); } }).setNeutralButton("取消", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { dialog.cancel(); } }).create(); b.show(); } return flag; }
Android编程获取网络连接状态(3G/Wifi)及调用网络配置界面
http://www.cnblogs.com/mainroadlee/archive/2011/01/11/Android_Network_State_Checking_And_Setting.html
/** * 检测是否开启wify或gprs * @param context * @return */ public boolean checkNetwork(final Context context){ ConnectivityManager manager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); //mobile 3G Data Network State mobile = manager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState(); //wifi State wifi = manager.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState(); //如果3G网络和wifi网络都未连接,且不是处于正在连接状态 则进入Network Setting界面 由用户配置网络连接 if(mobile==State.CONNECTED||mobile==State.CONNECTING) return true; if(wifi==State.CONNECTED||wifi==State.CONNECTING) return true; Builder b = new android.app.AlertDialog.Builder(context).setTitle("没有可用的网络").setMessage("请开启GPRS或WIFI网络连接"); b.setPositiveButton("设置网络", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { context.startActivity(new Intent(Settings.ACTION_WIRELESS_SETTINGS));//进入无线网络配置界面 // context.startActivity(new Intent(Settings.ACTION_WIFI_SETTINGS)); //进入手机中的wifi网络设置界面 } }).setNeutralButton("取消", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { dialog.cancel(); } }).create(); b.show(); return false; }
App自动更新之通知栏下载
http://www.cnblogs.com/qianxudetianxia/archive/2011/04/12/2010919.html
1.如果先bindService,再startService:
在bind的Activity退出的时候,Service会执行unBind方法而不执行onDestory方法,因为有startService方法调用过,所以Activity与Service解除绑定后会有一个与调用者没有关连的Service存在
2.如果先bindService,再startService,再调用Context.stopService
Service的onDestory方法不会立刻执行,因为有一个与Service绑定的Activity,但是在Activity退出的时候,会执行onDestory,如果要立刻执行stopService,就得先解除绑定
---------------------------
把上面的"如果先bindService,再startService"换成"如果先startService,再bindService",结果是一样的
问题:
如果在一个Activity的onCreate方法中,
先
bindService(serviceIntent, conn, Context.BIND_AUTO_CREATE);
再startService(serviceIntent);
退出这个Activity时,会执行onUnBind
但是再次进入这个Activity的时候,为什么不执行onBind方法了?只有在这个Service销毁后(执行onDestory),再进这个Activity才会执行onBind
这样情况可是不一样的啊!
后来没怎么用过service,所以这个问题后来没再关注过,你现在的程序出现什么问题了吗
bindService(serviceIntent, conn, Context.BIND_AUTO_CREATE);
再startService(serviceIntent);
退出这个Activity时,会执行onUnBind
但是再次进入这个Activity的时候,不执行onBind方法了.
后来用来后面那位老兄说的,将onunbind的返回值改为true,再次进入activity时会调用onrebind方法,能达到我的目的了
bindService(serviceIntent, conn, Context.BIND_AUTO_CREATE);
再startService(serviceIntent);
退出这个Activity时,会执行onUnBind
但是再次进入这个Activity的时候,不执行onBind方法了.
后来用来后面那位老兄说的,将onunbind的返回值改为true,再次进入activity时会调用onrebind方法,能达到我的目的了
学习了,多谢