android知识拾遗——1
1.获取mac地址
1、<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/> 2、private String getLocalMacAddress() { WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE); WifiInfo info = wifi.getConnectionInfo(); return info.getMacAddress(); }
?
?2.全屏
一是在代码中设置,另一种方法是在配置文件里改!
一、在代码中设置:
public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //无title requestWindowFeature(Window.FEATURE_NO_TITLE); //全屏 getWindow().setFlags(WindowManager.LayoutParams. FLAG_FULLSCREEN , WindowManager.LayoutParams. FLAG_FULLSCREEN); setContentView(R.layout.main); } }
?设置全屏的俩段代码必须在setContentView(R.layout.main) 之前,不然会报错。
二、在配置文件里修改(android:theme="@android:style/Theme.NoTitleBar.Fullscreen"):
?
3、网络状态
<uses-permissionandroid:name="android.permission.ACCESS_NETWORK_STATE" /> private boolean getNetWorkStatus() { boolean netSataus = false; ConnectivityManager cwjManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); cwjManager.getActiveNetworkInfo(); if (cwjManager.getActiveNetworkInfo() != null) { netSataus = cwjManager.getActiveNetworkInfo().isAvailable(); } if (!netSataus) { Builder b = new AlertDialog.Builder(this).setTitle("没有可用的网络") .setMessage("是否对网络进行设置?"); 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("android.intent.action.VIEW"); startActivityForResult(mIntent,0); } }).setNeutralButton("否", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { dialog.cancel(); } }).show(); } return netSataus; }
?
4?.判断GPS状态
public boolean isGpsEnabled(Context context) { LocationManager locationManager =((LocationManager)context.getSystemService(Context.LOCATION_SERVICE)); List<String> accessibleProviders = locationManager.getProviders(true); return accessibleProviders != null && accessibleProviders.size() > 0; }
?
?
5.禁止横屏幕 setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_NOSENSOR);
?
6.禁用重复加载
??? 1.?修改AndroidManifest.xml文件,在activity标签下面增加参数:
< activity android:name="MyActivity"android:configChanges="orientation|keyboardHidden">
??? 2.在MyActivity 中重载onConfigurationChanged(每次切屏的时候会自动调用)方法,初始化横竖屏方向不同的显示界面,以及其他数据的初始化操作:
@Overridepublic void onConfigurationChanged(Configuration newConfig) { super.onConfigurationChanged(newConfig);if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) { //加入横屏要处理的代码}else if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) { //加入竖屏要处理的代码}}
?
?
7、开机启动程序
1)public class StartupReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { Intent startupintent = new Intent(context,StrongTracks.class); startupintent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(startupintent); }}2)<receiverandroid:name=".StartupReceiver"><intent-filter><!-- 系统启动完成后会调用 --><actionandroid:name="android.intent.action.BOOT_COMPLETED"></action></intent-filter></receiver>
?
1 楼 yoyoflash 2011-05-21 不得不说,还是以很有用的,哈哈 2 楼 snowdream 2011-05-22 感谢分享,确实很有用处的小贴士。