新手必备的常用代码片段整理(一)
原文地址:http://blog.csdn.net/zhaokaiqiang1992以下内容来自多个开源项目的整理和自己的项目积累拨打电话跳转至拨号界面发送短信唤醒屏幕并解锁判断当前App处于前台还是后台状态判断当前手机是否处于锁屏睡眠状态判断当前是否有网络连接判断当前是否是WIFI连接状态安装APK判断当前设备是否为手机获取当前设备宽高单位px获取当前设备的IME
·
原文地址:http://blog.csdn.net/zhaokaiqiang1992
以下内容来自多个开源项目的整理和自己的项目积累
拨打电话
1
2
3
|
public
static
void
call(Context context, String phoneNumber) {
context.startActivity(
new
Intent(Intent.ACTION_CALL, Uri.parse(
'tel:'
+ phoneNumber)));
}
|
跳转至拨号界面
1
2
3
|
public
static
void
callDial(Context context, String phoneNumber) {
context.startActivity(
new
Intent(Intent.ACTION_DIAL, Uri.parse(
'tel:'
+ phoneNumber)));
}
|
发送短信
1
2
3
4
5
6
7
8
|
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);
}
|
唤醒屏幕并解锁
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
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();
}
|
需要添加权限
1
2
|
<
uses-permission
android:name
=
'android.permission.WAKE_LOCK'
/>
<
uses-permission
android:name
=
'android.permission.DISABLE_KEYGUARD'
/>
|
判断当前App处于前台还是后台状态
1
2
3
4
5
6
7
8
9
10
11
12
13
|
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
;
}
|
需要添加权限
1
2
|
<
uses-permission
|
判断当前手机是否处于锁屏(睡眠)状态
1
2
3
4
5
6
|
public
static
boolean
isSleeping(Context context) {
KeyguardManager kgMgr = (KeyguardManager) context
.getSystemService(Context.KEYGUARD_SERVICE);
boolean
isSleeping = kgMgr.inKeyguardRestrictedInputMode();
return
isSleeping;
}
|
判断当前是否有网络连接
1
2
3
4
5
6
7
8
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
;
}
|
判断当前是否是WIFI连接状态
1
2
3
4
5
6
7
8
9
10
|
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
;
}
|
安装APK
1
2
3
4
5
6
7
8
9
10
|
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);
}
|
判断当前设备是否为手机
1
2
3
4
5
6
7
8
9
|
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
;
}
}
|
获取当前设备宽高,单位px
1
2
3
4
5
6
7
8
9
10
11
12
13
|
@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();
}
|
获取当前设备的IMEI,需要与上面的isPhone()一起使用
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
@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;
}
|
获取当前设备的MAC地址
1
2
3
4
5
6
7
8
9
10
11
12
|
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;
}
|
获取当前程序的版本号
1
2
3
4
5
6
7
8
9
10
|
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;
}
|
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
已为社区贡献1条内容
所有评论(0)