Activity快速转换为Diglog

简介: 检测某应用是否安装判断程序是否在前台运行字符串非空判断是否为当前界面Android Studio在SVN上创建分支


其他内容不变,只需要修改AndroidManifest.xml 中Activity注册是添加android:theme="@android:style/Theme.Holo.Dialog" 即可


<activity
    android:name=".activity.LoginActivity"
    android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation"
    android:theme="@style/dialog_style" />

style :dialog_style


<style name="dialog_style">
    <item name="android:windowIsFloating">true</item>  <!--是否悬浮在activity上-->
    <item name="android:windowNoTitle">true</item> <!--透明是否-->
    <item name="windowActionBar">false</item>
    <item name="android:windowFrame">@null</item>
    <item name="windowNoTitle">true</item>
    <item name="android:windowBackground">@android:color/transparent</item>
    <item name="android:backgroundDimEnabled">true</item>
    <item name="android:windowFullscreen">true</item>
    <item name="android:adjustViewBounds">true</item>
    <item name="android:backgroundDimAmount">0.4</item><!--透明度 0.0f到1.0f之间。1.0完全不透明,0.0f完全透明-->
    <item name="android:windowCloseOnTouchOutside">false</item><!--禁用点击空白处自动关闭-->
</style>


边用边更新


/**
 * 判断qq是否可用
 *
 * @param context
 * @return
 */
public static boolean isQQClientAvailable(Context context) {
    try {
        final PackageManager packageManager = context.getPackageManager();
        List<PackageInfo> pinfo = packageManager.getInstalledPackages(0);
        if (pinfo != null) {
            for (int i = 0; i < pinfo.size(); i++) {
                String pn = pinfo.get(i).packageName;
                if (pn.equals("com.tencent.mobileqq")) {
                    return true;
                }
            }
        }
    }catch (Exception e){
        return false;
    }
    return false;
}
/**
 * 判断支付宝是否可用
 * @param context
 * @return
 */
public static boolean checkAliPayInstalled(Context context) {
    Uri uri = Uri.parse("alipays://platformapi/startApp");
    Intent intent = new Intent(Intent.ACTION_VIEW, uri);
    ComponentName componentName = intent.resolveActivity(context.getPackageManager());
    return componentName != null;
}


检测某应用是否安装


private boolean isAvilible( Context context, String packageName )
{
    final PackageManager packageManager = context.getPackageManager();
    // 获取所有已安装程序的包信息
    List<PackageInfo> pinfo = packageManager.getInstalledPackages(0);
    for ( int i = 0; i < pinfo.size(); i++ )
    {
        if(pinfo.get(i).packageName.equalsIgnoreCase(packageName))
            return true;
    }
    return false;
}


判断程序是否在前台运行


/**
 * 程序是否在前台运行 
 *
 * @return
 */
public boolean isAppOnForeground() {
    ActivityManager activityManager = (ActivityManager) getApplicationContext().getSystemService(Context.ACTIVITY_SERVICE);
    String packageName = getApplicationContext().getPackageName();
    List<RunningAppProcessInfo> appProcesses = activityManager
            .getRunningAppProcesses();
    if (appProcesses == null)
        return false;
    for (RunningAppProcessInfo appProcess : appProcesses) {
        // The name of the process that this object is associated with.  
        if (appProcess.processName.equals(packageName)
                && appProcess.importance == RunningAppProcessInfo.IMPORTANCE_FOREGROUND) {
            return true;
        }
    }
    return false;
}


字符串非空判断


 public static boolean isNullOrEmpty(String str) {
        if (str == null) return true;
        if (str.equals("null")) return true;
        if (str.equals("[null]")) return true;
        if (str.isEmpty()) return true;
        if (str.equals("")) return true;
        if (str.equals("(null)")) return true;
        return false;
    } 


是否为当前界面


/**
 * 是否为当前界面
 * @param cls 当前界面
 * @return true是当前界面
 */
private boolean isRunningActivity(Class<?> cls)
{
   ActivityManager activityManager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
   String runningActivity = activityManager.getRunningTasks(1).get(0).topActivity.getClassName();
   return cls.getName().equals(runningActivity);
}


使用:if (!isRunningActivity(Activity.class)){//你的逻辑}


Android Studio在SVN上创建分支


1、项目右键,SubVersion->Branch or Tag...

2、在弹出的对话框里面,Copy To的菜单下面的Base URL里面选路径,点下面的加号,确定分支的路径,点击OK

3、然后写个注释(comment),点击OK,分支创建完毕。

4、比较的时候,项目右键,SubVersion->Compare With branch...比较合并


相关文章
|
9月前
|
存储 Android开发
Android 中使用intent.putExtra实现Activity之间的参数传递
Android 中使用intent.putExtra实现Activity之间的参数传递
62 0
Activity中getIntent为什么获取不到值?
Activity中getIntent为什么获取不到值?
341 0
|
JSON Java 数据格式
Activity之间使用Intent传递大量数据带来问题
Intent在传递数据时是有大小限制的,这里官方并未详细说明,不过通过实验的方法可以测出数据应该被限制在1MB之(1024KB),采用的是传递某产品详情,发现当数据大小超过1024的时候,程序就会出现闪退、停止运行等异常(不同的手机反应不同),因此可以判断Intent的传输容量在1MB以内,但是根据不同版本、不同厂商,这个值会有区别。
346 0
|
Android开发 数据格式 XML
Android Activity之间的传值示例
版权声明:本文可能为博主原创文章,若标明出处可随便转载。 https://blog.
779 0
Activity往另外一个Activity传值,Fragment获取另外一个Activity里面的值。
在oneActivity中实现跳转到MainActivity        //intent 用来跳转另外一个MainActivity,bundle传值到MainActivity         Intent MainActivity = new Intent();         MainActivity .
1255 0