职业IT人-IT人生活圈

 找回密码
 成为会员
搜索
查看: 465|回复: 4

android知识拾遗——1

[复制链接]
shmilyyu 发表于 2011-7-21 10:28 | 显示全部楼层 |阅读模式
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();   
  }  

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);   
    }   
}   

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;   
   }  

        <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;   
}   

    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">  

< 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) {   
  
           //加入竖屏要处理的代码   
  
}   
  
  
}  

@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>  

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>

 楼主| shmilyyu 发表于 2011-7-21 10:29 | 显示全部楼层
不得不说,还是以很有用的,哈哈

hxy 发表于 2011-7-21 10:29 | 显示全部楼层
感谢分享,确实很有用处的小贴士。


jinchang 发表于 2011-7-25 11:12 | 显示全部楼层
终于看完了~~~
hxy 发表于 2011-7-28 11:31 | 显示全部楼层
ding   支持
您需要登录后才可以回帖 登录 | 成为会员

本版积分规则

QQ|手机版|小黑屋|网站帮助|职业IT人-IT人生活圈 ( 粤ICP备12053935号-1 )|网站地图
本站文章版权归原发布者及原出处所有。内容为作者个人观点,并不代表本站赞同其观点和对其真实性负责,本站只提供参考并不构成任何投资及应用建议。本站是信息平台,网站上部分文章为转载,并不用于任何商业目的,我们已经尽可能的对作者和来源进行了通告,但是能力有限或疏忽造成漏登,请及时联系我们,我们将根据著作权人的要求立即更正或者删除有关内容。

GMT+8, 2024-5-2 17:30 , Processed in 0.116544 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表