Android开发中常用到方法总结
1.判断服务是否在运行中
public static boolean isServiceRunning(Context context,
String serviceName) {
boolean isRunning =
false;
ActivityManager activityManager = (ActivityManager)
context
.getSystemService(Context.ACTIVITY_SERVICE);
List<ActivityManager.RunningServiceInfo>
serviceList =
activityManager
.getRunningServices(Integer.MAX_VALUE);
if
(!(serviceList.size() > 0)) {
return
false;
}
for (int i = 0; i <
serviceList.size(); i++) {
RunningServiceInfo si =
(RunningServiceInfo) serviceList.get(i);
if
(si.service.getClassName().equals(serviceName))
{
isRunning =
true;
break;
}
}
return
isRunning;
}
2.判断存储卡是否已插入
public static boolean isExternalStorageAvailable()
{
String state =
Environment.getExternalStorageState();
if
(Environment.MEDIA_MOUNTED.equals(state)) {
return
true;
} else {
return
false;
}
}
3.获得该文件的路径
public static String getSDCardPath(String folderName)
{
if(folderName!=null){
String path =
Environment.getExternalStorageDirectory()
.getAbsolutePath()
+ File.separator + folderName;
File file = new
File(path);
if (!file.exists())
{
file.mkdir();
}
return
path;
}else{
return
null;
}
}
4.获得手机IMEI
public static String getIMEI(Context ctx)
{
if(ctx!=null){
String imei =
"";
TelephonyManager telephonyManager = (TelephonyManager)
ctx
.getSystemService(Context.TELEPHONY_SERVICE);
if
(telephonyManager != null)
imei =
telephonyManager.getDeviceId();
if (imei ==
"")
imei = "0";
return
imei;
}else{
return
null;
}
}
5.获得手机号
public static String getPhoneNumber(Context ctx)
{
if(ctx!=null){
String number =
"";
TelephonyManager telephonyManager = (TelephonyManager)
ctx
.getSystemService(Context.TELEPHONY_SERVICE);
if
(telephonyManager != null)
number =
telephonyManager.getLine1Number();
if (number ==
"")
number = "0";
return
number;
}else{
return
null;
}
}
6.得到手机状态信息
public static String fetch_status(Context ctx)
{
TelephonyManager tm = (TelephonyManager)
ctx
.getSystemService(Context.TELEPHONY_SERVICE);//
String str = "";
str += "DeviceId(IMEI) = " +
tm.getDeviceId() + "\n";
str += "DeviceSoftwareVersion = " +
tm.getDeviceSoftwareVersion()
+
"\n";
str += "Line1Number = " + tm.getLine1Number() +
"\n";
str += "NetworkCountryIso = " + tm.getNetworkCountryIso() +
"\n";
str += "NetworkOperator = " + tm.getNetworkOperator() +
"\n";
str += "NetworkOperatorName = " +
tm.getNetworkOperatorName() + "\n";
str += "NetworkType = " +
tm.getNetworkType() + "\n";
str += "honeType = " +
tm.getPhoneType() + "\n";
str += "SimCountryIso = " +
tm.getSimCountryIso() + "\n";
str += "SimOperator = " +
tm.getSimOperator() + "\n";
str += "SimOperatorName = " +
tm.getSimOperatorName() + "\n";
str += "SimSerialNumber = " +
tm.getSimSerialNumber() + "\n";
str += "SimState = " +
tm.getSimState() + "\n";
str += "SubscriberId(IMSI) = " +
tm.getSubscriberId() + "\n";
str += "VoiceMailNumber = " +
tm.getVoiceMailNumber() + "\n";
return str;
}
7.得到软件版本信息
public static String getSoftwareVersion(Context ctx)
{
String version = "";
try
{
PackageInfo packageInfo =
ctx.getPackageManager().getPackageInfo(
ctx.getPackageName(),
0);
version = packageInfo.versionName;
}
catch (PackageManager.NameNotFoundException e)
{
e.printStackTrace();
}
return
version;
}
8.得到当前日期
public static String getCurrDate(String format)
{
String str_format = (format == null || format == "") ?
"yyyy-MM-dd HH:mm:ss"
: format;
Date
date = new Date();
SimpleDateFormat from = new
SimpleDateFormat(str_format);
String times =
from.format(date);
return times;
}
9.根据URL获取bitmap
public static Bitmap getURLBitmap(String uriPic)
throws Exception {
URL imageUrl = null;
Bitmap
bitmap = null;
try {
imageUrl = new
URL(uriPic);
} catch (MalformedURLException e)
{
e.printStackTrace();
}
try
{
HttpURLConnection conn = (HttpURLConnection)
imageUrl
.openConnection();
conn.setConnectTimeout(5*1000);
conn.setReadTimeout(5*1000);
conn.setDoInput(true);
conn.setDoOutput(true);
conn.setUseCaches(true);
conn.setRequestMethod("POST");
conn.connect();
InputStream
is = conn.getInputStream();
bitmap =
BitmapFactory.decodeStream(is);
is.close();
}
catch (IOException e)
{
e.printStackTrace();
}
return
bitmap;
}
10.隐藏app
public static void HiddenApp(Context ctx)
{
PackageManager pm =
ctx.getPackageManager();
ResolveInfo homeInfo =
pm.resolveActivity(
new
Intent(Intent.ACTION_MAIN)
.addCategory(Intent.CATEGORY_HOME),
0);
ActivityInfo ai =
homeInfo.activityInfo;
Intent startIntent = new
Intent(Intent.ACTION_MAIN);
startIntent.addCategory(Intent.CATEGORY_LAUNCHER);
startIntent.setComponent(new
ComponentName(ai.packageName,
ai.name));
ctx.startActivity(startIntent);
}
11.退出程序(3种方法)
public static void ExitApp(Context ctx) {
ActivityManager am =
(ActivityManager)
ctx.getSystemService(Context.ACTIVITY_SERVICE);
am.restartPackage(ctx.getPackageName());
Intent
startMain = new
Intent(Intent.ACTION_MAIN);
startMain.addCategory(Intent.CATEGORY_HOME);
startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
ctx.startActivity(startMain);
android.os.Process.killProcess(android.os.Process.myPid());
System.exit(0);
android.os.Process.killProcess(android.os.Process.myPid());
}
12.查询手机中所有非系统应用
public static
List<PackageInfo> getAllApps(Context context) {
List<PackageInfo> apps = new
ArrayList<PackageInfo>();
PackageManager pManager = context.getPackageManager();
//获取手机内所有应用
List<PackageInfo> paklist =
pManager.getInstalledPackages(0);
for (int i =
0; i < paklist.size(); i++) {
PackageInfo pak = (PackageInfo) paklist.get(i);
//判断是否为非系统预装的应用程序
if ((pak.applicationInfo.flags &
pak.applicationInfo.FLAG_SYSTEM) <= 0)
{
// customs applications
apps.add(pak);
}
}
return apps;
}
13.查询手机内所有支持分享的应用
public static List<ResolveInfo> getShareApps(Context
context)
{
List<ResolveInfo> mApps = new
ArrayList<ResolveInfo>();
Intent intent = new
Intent(Intent.ACTION_SEND,
null);
intent.addCategory(Intent.CATEGORY_DEFAULT);
intent.setType("text/plain");
PackageManager
pManager = context.getPackageManager();
mApps =
pManager
.queryIntentActivities(intent,
PackageManager.COMPONENT_ENABLED_STATE_DEFAULT);
return
mApps;
}
14.获取 Andorid 手机WIFI连接的Mac地址和IP地址
public static String
getInfo()
{
WifiManager wifi = (WifiManager)
getSystemService(Context.WIFI_SERVICE);
WifiInfo info = wifi.getConnectionInfo();
String maxText = info.getMacAddress();
String ipText = intToIp(info.getIpAddress());
String status = "";
if (wifi.getWifiState() ==
WifiManager.WIFI_STATE_ENABLED)
{
status = "WIFI_STATE_ENABLED";
}
String ssid = info.getSSID();
int networkID = info.getNetworkId();
int speed = info.getLinkSpeed();
return "mac:" + maxText + "\n\r"
+ "ip:" + ipText + "\n\r"
+ "wifi status :" + status +
"\n\r"
+ "ssid :" + ssid + "\n\r"
+ "net work id :" + networkID +
"\n\r"
+ "connection speed:" + speed +
"\n\r"
;
}
15.获取手机上所有非系统应用
public static ArrayList<AppInfo>
getInstalledPackages(Context context)
{
ArrayList<AppInfo> appList = new ArrayList<AppInfo>();
List<PackageInfo> packages = context.getPackageManager()
.getInstalledPackages(0);
for (int i = 0; i < packages.size(); i++)
{
PackageInfo packageInfo = packages.get(i);
AppInfo tmpInfo = new AppInfo();
tmpInfo.appName = packageInfo.applicationInfo.loadLabel(
context.getPackageManager()).toString();
tmpInfo.packageName = packageInfo.packageName;
tmpInfo.versionName = packageInfo.versionName;
tmpInfo.versionCode = packageInfo.versionCode;
tmpInfo.appIcon = packageInfo.applicationInfo
.loadIcon(context.getPackageManager());
if((packageInfo.applicationInfo.flags&ApplicationInfo.FLAG_SYSTEM)==0)
{
//如果非系统应用,则添加至appList
appList.add(tmpInfo);
}
}
return appList;
}
16.将流转成字节数组
public byte[] stream2Bytes(InputStream is) throws IOException {
byte[] mByte;
ByteArrayOutputStream baos = new ByteArrayOutputStream();
byte[] buffer = new byte[1024];
int length = 0;
while ((length = is.read(buffer, 0, 1024)) != -1) {
baos.write(buffer, 0, length);
}
baos.flush();
mByte = baos.toByteArray();
baos.close();
return mByte;
}
结伴旅游网www.jieberu.com
领取免费门票就上推推族www.tuituizu.com
Android开发中常用到方法总结的更多相关文章
- Android源码浅析(四)——我在Android开发中常用到的adb命令,Linux命令,源码编译命令
Android源码浅析(四)--我在Android开发中常用到的adb命令,Linux命令,源码编译命令 我自己平时开发的时候积累的一些命令,希望对你有所帮助 adb是什么?: adb的全称为Andr ...
- Android开发中常用的库总结(持续更新)
这篇文章用来收集Android开发中常用的库,都是实际使用过的.持续更新... 1.消息提示的小红点 微信,微博消息提示的小红点. 开源库地址:https://github.com/stefanjau ...
- Android开发中常用的ListView列表的优化方式ViewHolder
在Android开发中难免会遇到大量的数据加载到ListView中进行显示, 然后其中最重要的数据传递桥梁Adapter适配器是常用的,随着市场的需 求变化ListView'条目中的内容是越来越多这就 ...
- Android开发中常用的设计模式
首先需要说明的是,这篇博文灵感来自于 http://www.cnblogs.com/qianxudetianxia/archive/2011/07/29/2121547.html ,在这里,博主已经很 ...
- Android开发中常用Dialog(普通弹窗&时间选择器&日历选择器)
引言 开发中,我们会有很多地方使用 Dialog 来展示一些提示信息或设置信息.如:用户提示.进度展示.时间设置.日期设置等. 下面我和大家一些学习下Android中常用的几种Dialog吧~ * 首 ...
- 【java】开发中常用字符串方法
java字符串的功能可以说非常强大, 它的每一种方法也都很有用. java字符串中常用的有两种字符串类, 分别是String类和StringBuffer类. Sting类 String类的对象是不可变 ...
- Android 开发中常用小技巧
TextView中的getTextSize返回值是以像素(px)为单位的, 而setTextSize()是以sp为单位的. 所以如果直接用返回的值来设置会出错,解决办法是 用setTextSize() ...
- android开发中常用的快捷键
Eclipse快捷键-方便查找,呵呵,记性不好 行注释/销注释 Ctrl+/ 块注释/销注释/XML注释 Ctrl+Shift+/ Ctrl+Shift+\查找 查找替换 Ctrl+H Ctr ...
- Android开发中常用的一些小技巧(转载)
http://www.jb51.net/article/61135.htm Activity.startActivities() 常用于在应用程序中间启动其他的Activity. TextUtils. ...
随机推荐
- Javascript金额转化
//"123,456.78"----> 123456.78(float格式) function rmoney(s) { return parseFloat(s.replace ...
- ADO.NET(完整修改和查询、实体类,数据访问类)
一.完整修改和查询 在编写c#语句时需考虑到用户体验,例如在编写修改语句时,需要考虑到输入的内容在数据库中是否能够找到. 中间变量运用. 1.先查 2.执行操作 完整修改语句: bool has = ...
- python 判断内网IP方法及实例应用
一.初衷: 一般在CMDB里会存储一台服务器的内网IP.管理IP.电信IP.联通IP,我们在使用的时候只需要拿到其中一个外网IP地址即可.那么我们就需要判断内网IP.管理IP并剔除掉,获取第一个外网I ...
- StringIO 模块用于在内存缓冲区中读写数据
模块是用类编写的,只有一个StringIO类,所以它的可用方法都在类中.此类中的大部分函数都与对文件的操作方法类似. 例: #coding=gbk import StringIO s=StringIO ...
- mac下Android开发环境搭建
之前一段时间在学习ios的开发,近一段时间想着也接触下Android开发,以来加深对移动端开发的理解.这里根据自己配置Android开发环境的过程,比较详细的来总结下自己的安装过程,希望对一些正准备配 ...
- 全文检索引擎Solr系列—–全文检索基本原理
场景:小时候我们都使用过新华字典,妈妈叫你翻开第38页,找到“坑爹”所在的位置,此时你会怎么查呢?毫无疑问,你的眼睛会从38页的第一个字开始从头至尾地扫描,直到找到“坑爹”二字为止.这种搜索方法叫做顺 ...
- centos6.4添加fedora-epel源
1. 去sohu镜像下载epel-release-6包 并安装.#wget http://mirrors.sohu.com/fedora-epel/6/x86_64/epel-release-6-8. ...
- C++学习13 类class和结构体struct的区别
C++保留了C语言的 struct,并且加以扩充.在C语言中,struct 只能包含数据成员,不能包含成员函数.而在C++中,struct 类似于 class,既可以包含数据成员,又可以包含成员函数. ...
- [Other] 自定义MIME类型支持FLV的相关设置
刚测试知道为何服务器无法播放flv的原因,特此记录而已. 网络空间支持FLV的相关设置,就是自定义一个MIME类型,一般虚拟主机管理里面都有这个选项 自定义MIME类型 扩展名: .flv MIME类 ...
- MyEclipse运行时自动保存
今天第一次用MyEclipse,我发现我的代码明明修改了,但运行结果发现总是修改前的代码结果.后来发现,是代码修改后必须保存,再点运行.这个功能明显不合适,所以需要更改MyEclipse的配置.红框是 ...