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 ...
随机推荐
- mysql优化:连接数
有时候我们会遇见"MySQL: ERROR 1040: Too many connections"的异常,一种原因是訪问量过高,MySQLserver抗不住,这个时候就要考虑添加从 ...
- iOS开发——实用篇Swift篇&保存图片到相册
保存图片到相册 最近在深入的学习关于swift相关技术,虽然海做不出什么好的东西,但是感觉收获不少,相信总有一样能用到,所以就总结了一下,希望大家喜欢! 1.OC中的写法 在OC中,我们需要保存图片到 ...
- 1081. Rational Sum (20)
the problem is from PAT,which website is http://pat.zju.edu.cn/contests/pat-a-practise/1081 the code ...
- 基于ActiveMQ的统一日志服务
概述 以ActiveMQ + Log4j + Spring的技术组合,实现基于消息队列的统一日志服务. 参考:Spring+Log4j+ActiveMQ实现远程记录日志——实战+分析 与参考文章的比较 ...
- 几个容易出错的css盒子模型细节
css是前端必须掌握的技能之一.其中的box模型,如图所示: 大体就是border.margin.padding和content,概念挺好理解.但当盒子模型与其他属性一块使用时产生的现象,或许您还难以 ...
- Qt增加webp格式支持
Webp 是一种图片文件格式,能在相同质量的情况下比 PNG 文件尺寸小巧. Chrome 应用商店图片已全部转换为 WebP 格式 YY(基于Qt开发)也已经把图片格式换成webp了 http:// ...
- 观察者模式(二)--《Head First DesignPattern》
我们用Java中自带的观察者模式接口来重写前面的例子. 先看一下类图: 这里用到了一个setChanged函数,它用来标记状态已经改变的事实,好让notifyObservers()知道当它调用时就应该 ...
- 奥运会订票系统c语言代写源码下载
制作能够实现2008北京奥运会网上订票的系统,能够实现购票人员注册.购票.管理人员可以设置各个比赛场地的赛事安排及票数. 程序要求实现的功能如下: 购票者信息注册:购票者可以用昵称和身份证进行注册,若 ...
- vim 编辑器 打开GB2312、GBK文件乱码解决方法
安装好的操作系统一般都带有vim编辑器,但是默认不支持GB2312中文,打开文件出现乱码,解决办法如下. 1.打开以下文件 sudo vim /var/lib/locales/supported.d/ ...
- LeetCode 80
Remove Duplicates from Sorted Array II Follow up for "Remove Duplicates": What if duplicat ...