新手必备的常用 Android 代码片段整理
2016-08-25 16:51
369 查看
新手必备的常用 Android 代码片段整理
2016-01-20 安卓应用频道(点击上方公众号,可快速关注)
来源:赵凯强(@裸奔的凯子哥)
链接:http://blog.csdn.net/zhaokaiqiang1992/article/details/44724057
以下内容来自多个开源项目的整理和自己的项目积累。
1.拨打电话
public
static
void
call(Context context,
String
phoneNumber)
{
context.startActivity(new
Intent(Intent.ACTION_CALL,
Uri.parse("tel:"
+
phoneNumber)));
}
2.跳转至拨号界面
public
static
void
callDial(Context context,
String
phoneNumber)
{
context.startActivity(new
Intent(Intent.ACTION_DIAL,
Uri.parse("tel:"
+
phoneNumber)));
}
3.发送短信
public
static
void
sendSms(Context context,
String
phoneNumber,
String
content)
{
Uri
uri
=
Uri.parse("smsto:"
+
(TextUtils.isEmpty(phoneNumber)
?
""
:
phoneNumber));
Intent
intent
=
new
Intent(Intent.ACTION_SENDTO,
uri);
intent.putExtra("sms_body",
TextUtils.isEmpty(content)
?
""
:
content);
context.startActivity(intent);
}
4.唤醒屏幕并解锁
public
static
void
wakeUpAndUnlock(Context context){
KeyguardManager
km=
(KeyguardManager)
context.getSystemService(Context.KEYGUARD_SERVICE);
KeyguardManager.KeyguardLock
kl
=
km.newKeyguardLock("unLock");
//解锁
kl.disableKeyguard();
//获取电源管理器对象
PowerManager
pm=(PowerManager)
context.getSystemService(Context.POWER_SERVICE);
//获取PowerManager.WakeLock对象,后面的参数|表示同时传入两个值,最后的是LogCat里用的Tag
PowerManager.WakeLock
wl
=
pm.newWakeLock(PowerManager.ACQUIRE_CAUSES_WAKEUP
|
PowerManager.SCREEN_DIM_WAKE_LOCK,"bright");
//点亮屏幕
wl.acquire();
//释放
wl.release();
}
5.需要添加权限
<uses-permission
android:name="android.permission.WAKE_LOCK"
/>
<uses-permission
android:name="android.permission.DISABLE_KEYGUARD"
/>
6.判断当前App处于前台还是后台状态
public
static
boolean
isApplicationBackground(final
Context context)
{
ActivityManager
am
=
(ActivityManager)
context
.getSystemService(Context.ACTIVITY_SERVICE);
@SuppressWarnings("deprecation")
List<ActivityManager.RunningTaskInfo>
tasks
=
am.getRunningTasks(1);
if
(!tasks.isEmpty())
{
ComponentName
topActivity
=
tasks.get(0).topActivity;
if
(!topActivity.getPackageName().equals(context.getPackageName()))
{
return
true;
}
}
return
false;
}
7.需要添加权限
<uses-permission
android:name="android.permission.GET_TASKS"
/>
8.判断当前手机是否处于锁屏(睡眠)状态
public
static
boolean
isSleeping(Context context)
{
KeyguardManager
kgMgr
=
(KeyguardManager)
context
.getSystemService(Context.KEYGUARD_SERVICE);
boolean
isSleeping
=
kgMgr.inKeyguardRestrictedInputMode();
return
isSleeping;
}
9.判断当前是否有网络连接
public
static
boolean
isOnline(Context context)
{
ConnectivityManager
manager
=
(ConnectivityManager)
context
.getSystemService(Activity.CONNECTIVITY_SERVICE);
NetworkInfo
info
=
manager.getActiveNetworkInfo();
if
(info
!=
null
&&
info.isConnected())
{
return
true;
}
return
false;
}
10.判断当前是否是WIFI连接状态
public
static
boolean
isWifiConnected(Context context)
{
ConnectivityManager
connectivityManager
=
(ConnectivityManager)
context
.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo
wifiNetworkInfo
=
connectivityManager
.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
if
(wifiNetworkInfo.isConnected())
{
return
true;
}
return
false;
}
11.安装APK
public
static
void
installApk(Context context,
File file)
{
Intent
intent
=
new
Intent();
intent.setAction("android.intent.action.VIEW");
intent.addCategory("android.intent.category.DEFAULT");
intent.setType("application/vnd.android.package-archive");
intent.setDataAndType(Uri.fromFile(file),
"application/vnd.android.package-archive");
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent);
}
12.判断当前设备是否为手机
public
static
boolean
isPhone(Context context)
{
TelephonyManager
telephony
=
(TelephonyManager)
context
.getSystemService(Context.TELEPHONY_SERVICE);
if
(telephony.getPhoneType()
==
TelephonyManager.PHONE_TYPE_NONE)
{
return
false;
}
else
{
return
true;
}
}
13.获取当前设备宽高,单位px
@SuppressWarnings("deprecation")
public
static
int
getDeviceWidth(Context context)
{
WindowManager
manager
=
(WindowManager)
context
.getSystemService(Context.WINDOW_SERVICE);
return
manager.getDefaultDisplay().getWidth();
}
@SuppressWarnings("deprecation")
public
static
int
getDeviceHeight(Context
context)
{
WindowManager
manager
=
(WindowManager)
context
.getSystemService(Context.WINDOW_SERVICE);
return
manager.getDefaultDisplay().getHeight();
}
14.获取当前设备的IMEI,需要与上面的isPhone()一起使用
@TargetApi(Build.VERSION_CODES.CUPCAKE)
public
static
String
getDeviceIMEI(Context context)
{
String
deviceId;
if
(isPhone(context))
{
TelephonyManager
telephony
=
(TelephonyManager)
context
.getSystemService(Context.TELEPHONY_SERVICE);
deviceId
=
telephony.getDeviceId();
}
else
{
deviceId
=
Settings.Secure.getString(context.getContentResolver(),
Settings.Secure.ANDROID_ID);
}
return
deviceId;
}
15.获取当前设备的MAC地址
public
static
String
getMacAddress(Context context)
{
String
macAddress;
WifiManager
wifi
=
(WifiManager)
context
.getSystemService(Context.WIFI_SERVICE);
WifiInfo
info
=
wifi.getConnectionInfo();
macAddress
=
info.getMacAddress();
if
(null
==
macAddress)
{
return
"";
}
macAddress
=
macAddress.replace(":",
"");
return
macAddress;
}
16.获取当前程序的版本号
public static String getAppVersion(Context context) {
String version = "0";
try {
version = context.getPackageManager().getPackageInfo(
context.getPackageName(), 0).versionName;
} catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
}
return version;
}
相关文章推荐
- 单独编译Android源代码中的模块
- android如何保证service不被杀死
- Android — 创建快捷方式
- Android应用程序四大组件分别是什么?各个组件所起到的作用是什么?
- Android--加载大分辨率图片到内存
- 自定义TextView处理任意时间长按短按的事件
- Mac系统下Android生成keystore
- android jarsigner 签名apk简单使用说明
- Android闹钟 AlarmManager的使用
- 安装 Android studio 报错
- Android 单元测试
- Android 选择商品属性sku
- Android-SQLiteOpenHelper的使用
- Android BLE应用开发的注意事项
- Android图片加载
- Android ImageView圆形头像 图片完全解析
- Android Hook框架Xposed进阶
- [置顶] Android 7.0 的改动(持续更新)
- Android NDK之JNI异常处理
- android style 中一些颜色的定义