android小知識

 .獲取mac地址
Java代碼 複製代碼 收藏代碼
  1. 1、<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>     
  2. 2private String getLocalMacAddress() {   
  3.     WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);   
  4.     WifiInfo info = wifi.getConnectionInfo();   
  5.     return info.getMacAddress();   
  6.   }  
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.全屏
一是在代碼中設置,另一種方法是在配置文件裏改!

一、在代碼中設置:

Java代碼 複製代碼 收藏代碼
  1. public void onCreate(Bundle savedInstanceState) {    
  2.     super.onCreate(savedInstanceState);    
  3.     //無title      
  4.     requestWindowFeature(Window.FEATURE_NO_TITLE);      
  5.     //全屏      
  6.     getWindow().setFlags(WindowManager.LayoutParams. FLAG_FULLSCREEN ,        
  7.         WindowManager.LayoutParams. FLAG_FULLSCREEN);             
  8.     setContentView(R.layout.main);    
  9.     }    
  10. }   
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、網絡狀態

Java代碼 複製代碼 收藏代碼
  1. <uses-permission   
  2.     android:name="android.permission.ACCESS_NETWORK_STATE" />   
  3.   
  4.  private boolean getNetWorkStatus() {   
  5.   
  6.    boolean netSataus = false;   
  7.    ConnectivityManager cwjManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);   
  8.   
  9.    cwjManager.getActiveNetworkInfo();   
  10.   
  11.    if (cwjManager.getActiveNetworkInfo() != null) {   
  12.    netSataus = cwjManager.getActiveNetworkInfo().isAvailable();   
  13.    }   
  14.   
  15.    if (!netSataus) {   
  16.    Builder b = new AlertDialog.Builder(this).setTitle("沒有可用的網絡")   
  17.    .setMessage("是否對網絡進行設置?");   
  18.    b.setPositiveButton("是"new DialogInterface.OnClickListener() {   
  19.    public void onClick(DialogInterface dialog, int whichButton) {   
  20.    Intent mIntent = new Intent("/");   
  21.    ComponentName comp = new ComponentName(   
  22.    "com.android.settings",   
  23.    "com.android.settings.WirelessSettings");   
  24.    mIntent.setComponent(comp);   
  25.    mIntent.setAction("android.intent.action.VIEW");   
  26.    startActivityForResult(mIntent,0);    
  27.    }   
  28.    }).setNeutralButton("否"new DialogInterface.OnClickListener() {   
  29.    public void onClick(DialogInterface dialog, int whichButton) {   
  30.    dialog.cancel();   
  31.    }   
  32.    }).show();   
  33.    }   
  34.   
  35.    return netSataus;   
  36.    }  
	<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狀態

Java代碼 複製代碼 收藏代碼
  1. public boolean isGpsEnabled(Context context)   
  2. {   
  3.     LocationManager locationManager =((LocationManager)context.getSystemService(Context.LOCATION_SERVICE));   
  4.     List<String> accessibleProviders = locationManager.getProviders(true);   
  5.     return accessibleProviders != null && accessibleProviders.size() > 0;   
  6. }   
    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標籤下面增加參數:

Java代碼 複製代碼 收藏代碼
  1. < activity android:name="MyActivity"  
  2. android:configChanges="orientation|keyboardHidden">  
< activity android:name="MyActivity"
android:configChanges="orientation|keyboardHidden">

    2.在MyActivity 中重載onConfigurationChanged(每次切屏的時候會自動調用)方法,初始化橫豎屏方向不同的顯示界面,以及其他數據的初始化操作:

Java代碼 複製代碼 收藏代碼
  1. @Override  
  2.   
  3. public void onConfigurationChanged(Configuration newConfig) {   
  4.   
  5.    super.onConfigurationChanged(newConfig);   
  6.   
  7. if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) {   
  8.            //加入橫屏要處理的代碼   
  9.   
  10. }else if (this.getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) {   
  11.   
  12.            //加入豎屏要處理的代碼   
  13.   
  14. }   
  15.   
  16.   
  17. }  
@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、開機啓動程序

Java代碼 複製代碼 收藏代碼
  1. 1)public class StartupReceiver extends BroadcastReceiver {   
  2.   
  3.   @Override  
  4.   public void onReceive(Context context, Intent intent) {   
  5.     Intent startupintent = new Intent(context,StrongTracks.class);   
  6.     startupintent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);   
  7.     context.startActivity(startupintent);   
  8.   }   
  9.   
  10. }   
  11. 2)<receiver   
  12. android:name=".StartupReceiver">   
  13. <intent-filter>   
  14.     <!-- 系統啓動完成後會調用 -->   
  15.     <action   
  16.         android:name="android.intent.action.BOOT_COMPLETED">   
  17.     </action>   
  18. </intent-filter>   
  19. </receiver>  

在Activity的onCreate函數中,加入如下代碼:

Java代碼 複製代碼 收藏代碼
  1. requestWindowFeature(Window.FEATURE_NO_TITLE);   
  2. getWindow().setFlags(WindowManager.LayoutParams. FLAG_FULLSCREEN ,   
  3.               WindowManager.LayoutParams. FLAG_FULLSCREEN);  

 

 

ImageView imageView = new ImageView(context);

URL url = new URL("圖片路徑");
URLConnection conn = url.openConnection();
        conn.connect();
        InputStream is = conn.getInputStream();
        BitmapFactory.Options options=new BitmapFactory.Options();
            options.inSampleSize = 10;
originalImage = BitmapFactory.decodeStream(is,null,options);
imageView.setImageBitmap(bitmapWithReflection);

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章