1.
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
android 读写sd卡权限
android 联网权限:
<uses-permission android:name="android.permission.INTERNET" />
android 获取网络状态权限:
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
2. 破手机 安装时提示手机没有足够的存储空间,设置 优先装到sd卡
android:installLocation="preferExternal" 加在这个位置:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.updatedemo"
android:installLocation="preferExternal"
android:versionCode="1"
android:versionName="1.0" >
3. dialog可以不用切换dialog布局xml, 可以设置控件 可见/不可见/消隐 —— visible/ invisible/ gone
需要用的时候就设置check.setVisibility(View.VISIBLE);
4.
//检查网络连接是够打开
public boolean isNetworkAvailable(Context context) {
ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
if (cm == null) {
} else {
//如果仅仅是用来判断网络连接则可以使用 cm.getActiveNetworkInfo().isAvailable();
NetworkInfo[] info = cm.getAllNetworkInfo();
if (info != null) {
for (int i = 0; i < info.length; i++) {
if (info[i].getState() == NetworkInfo.State.CONNECTED) {
return true;
}
}
}
}
return false;
}
5. 调用android系统安装apk
//打开文件进行安装
private void openFile(File file){
Intent intent = new Intent();
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setAction(android.content.Intent.ACTION_VIEW);
String type = "application/vnd.android.package-archive";
intent.setDataAndType(Uri.fromFile(file), type);
startActivity(intent);
}
6.
//获取应用的版本号
public int getVersionCode(){
int versioncode = 0;
//context为当前Activity上下文
PackageManager pm = getPackageManager();
try {
PackageInfo pi = pm.getPackageInfo(getPackageName(), 0);
versioncode = pi.versionCode;
//version = pi.versionName;
}
catch (NameNotFoundException e) {
//e.printStackTrace();
Log.e("VersionInfo", "Exception", e);
}
return versioncode;
}