论坛首页 移动开发技术论坛

android知识拾遗——1

浏览 7470 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2011-05-20   最后修改:2011-06-01

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-permission
		android: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(每次切屏的时候会自动调用)方法,初始化横竖屏方向不同的显示界面,以及其他数据的初始化操作:

@Override

public 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)<receiver
android:name=".StartupReceiver">
<intent-filter>
	<!-- 系统启动完成后会调用 -->
	<action
		android:name="android.intent.action.BOOT_COMPLETED">
	</action>
</intent-filter>
</receiver>

 

   发表时间:2011-05-21  
不得不说,还是以很有用的,哈哈
0 请登录后投票
   发表时间:2011-05-22  
感谢分享,确实很有用处的小贴士。
0 请登录后投票
   发表时间:2011-07-04  
搜集下先 多谢了
0 请登录后投票
   发表时间:2011-07-06  
如果应用程序在后台运行 我点击桌面的快捷方式 android:configChanges="orientation|keyboardHidden" 这句话起作用嘛?会延续在后台的还是新建一个?
0 请登录后投票
   发表时间:2011-07-06  
3.网络状态的获取,那里是会有NPE的..
0 请登录后投票
   发表时间:2011-07-07   最后修改:2011-07-07
Weich_JavaDeveloper 写道
如果应用程序在后台运行 我点击桌面的快捷方式 android:configChanges="orientation|keyboardHidden" 这句话起作用嘛?会延续在后台的还是新建一个?

测试了下,应该是延续后台的
0 请登录后投票
   发表时间:2011-07-07  
admires 写道
3.网络状态的获取,那里是会有NPE的..

关闭网络后可以去试试,我试过了,会有NPE。
0 请登录后投票
   发表时间:2011-08-10  
学习了,非常感谢
0 请登录后投票
   发表时间:2011-08-23  
感谢楼主 ,小弟学到不少东西
0 请登录后投票
论坛首页 移动开发技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics