您的位置:首页 > 移动开发 > Android开发

新手必备的常用 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;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: