zoukankan      html  css  js  c++  java
  • 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 + "
    ";
        os.writeBytes ( Command );
        os.flush ();
    
        sh.waitFor ();
    }
    

    备注

  • 相关阅读:
    大工程(bzoj 3611)
    消耗战(bzoj 2286)
    Computer(hdu 2196)
    文件排版(codevs 1300)
    洛谷 P2015 二叉苹果树
    洛谷 P2014 选课
    洛谷 P1352 没有上司的舞会
    COGS 505. 城市
    洛谷 P1306 斐波那契公约数
    洛谷 P1962 斐波那契数列
  • 原文地址:https://www.cnblogs.com/sollyu/p/4516601.html
Copyright © 2011-2022 走看看