Android - 代码片段
转载说明
本篇文章可能已经更新,最新文章请转:http://www.sollyu.com/android-code-snippets/
说明
此篇文章为个人日常使用所整理的一此代码片段,此篇文正将会不定时更新
代码
评价应用
activity.startActivity(new Intent(Intent.ACTION_VIEW,Uri.parse("market://details?id=" + activity.getPackageName())));
获得系统分享列表
/**
* 获得系统分享列表
* @param context
* @return
*/
public static List< ResolveInfo > getShareApps ( Context context )
{
Intent intent = new Intent ( Intent.ACTION_SEND, null );
intent.addCategory ( Intent.CATEGORY_DEFAULT );
intent.setType ( "*/*" );
PackageManager pManager = context.getPackageManager ();
return pManager.queryIntentActivities ( intent, PackageManager.COMPONENT_ENABLED_STATE_DEFAULT );
// for ( int i = 0; i < resolveInfos.size (); i++ )
// {
// AppInfoVo appInfoVo = new AppInfoVo ();
// ResolveInfo resolveInfo = resolveInfos.get ( i );
// appInfoVo.setAppName ( resolveInfo.loadLabel ( packageManager ).toString () );
// appInfoVo.setIcon ( resolveInfo.loadIcon ( packageManager ) );
// appInfoVo.setPackageName ( resolveInfo.activityInfo.packageName );
// appInfoVo.setLauncherName ( resolveInfo.activityInfo.name );
// appInfoVos.add ( appInfoVo );
// }
// return appInfoVos;
}
获得当前IP地址
HttpUtils.GetHtml ( "http://1111.ip138.com/ic.asp", null, new HttpUtils.HttpUtilsCallBack ()
{
@Override
public void OnFinish ( HttpResponse httpResponse, int resultCode, String resultString )
{
Pattern p = Pattern.compile ( "\\[(.+)\\]" );
Matcher m = p.matcher ( resultString );
if ( m.find () )
{
String ipAddress = m.group ( 1 );
LogUtils.OutputDebugString ( ipAddress );
}
}
@Override
public void OnError ( Exception e )
{
LogUtils.OutputDebugString ( e );
}
} );
获得当前Activity的根视图
/**
* 获得当前Activity的根视图
* @param activity
* @return
*/
public static ViewGroup GetContentView(Activity activity)
{
return ( ViewGroup ) ( ( ViewGroup ) activity.findViewById ( android.R.id.content ) ).getChildAt ( 0 );
}
打开应用
public static void OpenApp(Context context, String packageName_)
{
try
{
Intent resolveIntent = new Intent(Intent.ACTION_MAIN, null);
resolveIntent.addCategory(Intent.CATEGORY_LAUNCHER);
resolveIntent.setPackage(context.getPackageManager().getPackageInfo(packageName_, 0).packageName);
List<ResolveInfo> apps = context.getPackageManager().queryIntentActivities(resolveIntent, 0);
ResolveInfo ri = apps.iterator().next();
if (ri != null)
{
String packageName = ri.activityInfo.packageName;
String className = ri.activityInfo.name;
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_LAUNCHER);
ComponentName cn = new ComponentName(packageName, className);
intent.setComponent(cn);
context.startActivity(intent);
}
}
catch (PackageManager.NameNotFoundException e)
{
e.printStackTrace();
}
}
打开URL
public static void OpenUrl(Context context, String url)
{
android.content.Intent intent = new android.content.Intent();
intent.setAction("android.intent.action.VIEW");
intent.setData(android.net.Uri.parse(url));
context.startActivity(intent);
}
public static void OpenUrl(Context context, int url)
{
android.content.Intent intent = new android.content.Intent();
intent.setAction("android.intent.action.VIEW");
intent.setData(android.net.Uri.parse(context.getString(url)));
context.startActivity(intent);
}
创建桌面快捷方式
public static void CreateShortcut(Context context, String appName, Class<?> startClass, int icon)
{
Intent shortcut = new Intent("com.android.launcher.action.INSTALL_SHORTCUT");
shortcut.putExtra(Intent.EXTRA_SHORTCUT_NAME, appName);
shortcut.putExtra("duplicate", false);// 设置是否重复创建
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_LAUNCHER);
intent.setClass(context, startClass);// 设置第一个页面
shortcut.putExtra(Intent.EXTRA_SHORTCUT_INTENT, intent);
Intent.ShortcutIconResource iconRes = Intent.ShortcutIconResource.fromContext(context, icon);
shortcut.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, iconRes);
context.sendBroadcast(shortcut);
}
分享图片到微信朋友圈
public static void shareMultiplePictureToTimeLine ( Context context, File... files )
{
Intent intent = new Intent ();
ComponentName comp = new ComponentName ( "com.tencent.mm", "com.tencent.mm.ui.tools.ShareToTimeLineUI" );
intent.setComponent ( comp );
intent.setAction ( Intent.ACTION_SEND_MULTIPLE );
intent.setType ( "image/*" );
ArrayList< Uri > imageUris = new ArrayList< Uri > ();
for ( File f : files )
{
imageUris.add ( Uri.fromFile ( f ) );
}
intent.putParcelableArrayListExtra ( Intent.EXTRA_STREAM, imageUris );
context.startActivity ( intent );
}
状态栏透明
/**
* 设置状态栏透明
* @param activity
*/
public static void TranslucentStatus(Activity activity)
{
if ( android.os.Build.VERSION.SDK_INT > 18 )
{
Window window = activity.getWindow ();
window.setFlags ( WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS , WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS );
window.setFlags ( WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION, WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION );
}
}
ProgressDialogLoading
public static void ProgressDialogLoading ( final Context context, final ProgressDialogLoadingCallBack progressDialogLoadCallBack )
{
final ProgressDialog progressDialog = new ProgressDialog ( context );
progressDialogLoadCallBack.onInit ( context, progressDialog );
new Thread ( new Runnable ()
{
@Override
public void run ()
{
progressDialogLoadCallBack.onRun ( context, progressDialog );
progressDialog.dismiss ();
}
} ).start ();
}
public static interface ProgressDialogLoadingCallBack
{
public void onInit ( Context context, ProgressDialog progressDialog );
public void onRun ( Context context, ProgressDialog progressDialog );
}
ImageView 设置图片
ImageView.setImageResource(R.drawable.icon);
杀死对应的Android程序
/**
* 杀死对应的Android程序,而不会自动启动
* @param pkgName 应用程序的包名
*/
public static void forceStopAPK ( String pkgName ) throws Exception
{
Process sh = Runtime.getRuntime ().exec ( "su" );
DataOutputStream os = new DataOutputStream ( sh.getOutputStream () );
final String Command = "am force-stop " + pkgName + "\n";
os.writeBytes ( Command );
os.flush ();
sh.waitFor ();
}
备注
Android - 代码片段的更多相关文章
- 【Android代码片段之六】Toast工具类(实现带图片的Toast消息提示)
转载请注明出处,原文网址:http://blog.csdn.net/m_changgong/article/details/6841266 作者:张燕广 实现的Toast工具类ToastUtil封装 ...
- 【Android代码片段之八】监听Android屏幕是否锁屏
实现方法:1)通过BroadcastReceiver接收广播Intent.ACTION_SCREEN_ON和Intent.ACTION_SCREEN_OFF可以判断屏幕状态是否锁屏,但是只有屏幕状态发 ...
- android代码片段二
1.Android拦截短信 一.AndroidManifest.xml <uses-permission android:name="android.permission.RECE ...
- 实用的Android代码片段集合(精)
1.精确获取屏幕尺寸(例如:3.5.4.0.5.0寸屏幕) public static double getScreenPhysicalSize(Activity ctx) { DisplayMetr ...
- 给大家介绍几个常见的Android代码片段
今天在源码天堂那个网站,也下载了一个不错的Android源码特效,现在分享一下给博客园的朋友吧,个人觉得那个网站还是挺不错的,希望大家能够使用得上. 仿美图秀秀拼图功能源码 仿美图秀秀拼图功能源码,最 ...
- android代码片段一
1.Android判断是Pad或者手机 public boolean isTabletDevice() { TelephonyManager telephony = (TelephonyManager ...
- Android课程---Android Studio使用小技巧:提取方法代码片段
这篇文章主要介绍了Android Studio使用小技巧:提取方法代码片段,本文分享了一个快速复制粘贴方法代码片段的小技巧,并用GIF图演示,需要的朋友可以参考下 今天来给大家介绍一个非常有用的Stu ...
- Android适配器之ArrayAdapter、SimpleAdapter和BaseAdapter的简单用法与有用代码片段(转)
摘自:http://blog.csdn.net/shakespeare001/article/details/7926783 Adapter是连接后端数据和前端显示的适配器接口,是数据Data和UI( ...
- 转--Android实用的代码片段 常用代码总结
这篇文章主要介绍了Android实用的代码片段 常用代码总结,需要的朋友可以参考下 1:查看是否有存储卡插入 复制代码 代码如下: String status=Environment.getE ...
随机推荐
- SiteMesh学习笔记
SiteMesh是一个轻量级的web应用框架,实现了Decorator模式.它的目标是将多个页面都将引用的jsp页面通过配置加载到相应的jsp文件中. 在我们的项目中,每个jsp都需要添加两个top和 ...
- hdu1051 Wooden Sticks
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1051 大意:求最少升序序列的个数. #include <cstdio> #include &l ...
- Eclipse配置C/C++开发环境
开发环境:Eclipse3.2.CDT3.1.MinGW5.1 1.Eclipse及CDT的安装到Eclipse的官方网站http://www.eclipse.org上下载Eclipse.安装CDT. ...
- ASP.NET 之 检测到在集成的托管管道模式下不适用的ASP.NET设置
将ASP.NET程序从IIS6移植到IIS7后,调试运行可能提示以下错误: HTTP 错误 500.23 - Internal Server Error 检测到在集成的托管管道模式下不适用的 ASP. ...
- 包加载失败 未能正确加载包“xxx”...
打开vs2008或者2005如果弹出一个警告对话框 包加载失败 未能正确加载包“xxx” ...... 的字样,就可以用以下方法解决. 在cmd下运行带参数的devenv.exe: "d(盘 ...
- Lua垃圾收集
Lua使用基于被内置在Lua某些算法的垃圾收集自动内存管理.可以自动内存管理的结果,作为一个开发者: 没有必要担心的对象分配内存. 无需释放他们时,不再需要可将其设置为nil. Lua使用运行不时收集 ...
- Syntax highlighter for CKEditor
http://www.cnblogs.com/moozi/archive/2010/01/06/1640034.html
- 在vs环境中跑动sift特征提取(原理部分)
/* 如果给两张图片,中间有相似点.要求做匹配.怎么做.我现在能讲么? 比如给了两幅图片,先求出sift点. 尺度空间极值检测.高斯模糊 关键点定位 关键点方向确定 关键点描述 kdtre ...
- HTML <base> 标签的 target 属性 —— <base target="_blank" />
为页面上所有链接规定默认目标: <head> <base target="_blank" /> </head> <body> < ...
- 自定义HBase的协处理器(Observer)
自定义一个Observer... 总共分五步: 1°.继承BaseMasterObserver (写代码 具体看博客....) 案例(当在HBase中创建表的时候在日志中有相关输出): impor ...