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 ...
随机推荐
- [Angular 2] Understanding @Injectable
In order to resolve a dependency, Angular’s DI uses type annotations. To make sure these types are p ...
- MySQL server version for the right syntax to use near ‘USING BTREE
转自:http://www.douban.com/note/157818842/ 有时导入mysql会提示如下错误: C:\Users\liqiang>mysql -uroot -paaaaaa ...
- Swift3.0相对于2.3语法的一些变化
前言 : Swift3.0的Swift的第3个主要版本,目标是安全,快速和有表现力,也是第一个有开源社区参与开发的Swift版本.由于语法和API改动比较多,Xcode 8.0 Beta提供了migr ...
- Flex中 Array 的IndexOf 的作用
Flex中 Array 的IndexOf 的作用 1.说明 indexOf用于在索引中从小到大查找,假设查得到就返回索引值,查不到就返回-1: 2.实例 (1)设计源代码 <?xml ve ...
- 关于AS3的垃圾回收
FlashPlayer运行GC(Gabage Collection)的时间并不固定,它会根据你的内存的占用情况来决定运行GC的时间.它会根据用户机器的内存值来设定一个阀值,然后将程序的占用内存量保存在 ...
- 【双十一到了,准备买书了么?】推荐几本c/c++入手的书籍
<C和指针>c语言的经典之作,全书共18章,覆盖了数据.语句.操作符和表达式.指针.函数.数组.字符串.结构和联合等几乎所有重要的C编程话题.而且每章后面都有基础回顾已经较多例程,很适合入 ...
- Android XML文件布局各个属性详解
第一常用类:属性值为true或false android:layout_centerHrizontal 水平居中 android:layout_centerVertical 垂直居中 android: ...
- 安卓AlertDialog的使用
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this); builder.setMessage("数 ...
- Lexia3 Citroen/Peugeot Diagnostic tool install instruction
We knew that Lexia-3 is a professional Citroen and Peugeot diagnostic interface, it’s both easy-usin ...
- cocos2d-x, protobuf, no config.h, #error "No suitable threading library available."
在用cocos2d-x3.2 + protobuf编译Android项目的时候,protobuf出现了两个问题: 1. 首先是config.h找不到,查阅自后说是通过命令或工具生成的,里面的内容根据不 ...