概述 有时候我们想在 andorid 手机上实现一种 跨越 顶部状态栏的效果,比如一张图片直接显示在 状态栏内。比如下图: ? 这个页面里有张图片,这个图片显示在整个页面的上部分。...activity的onCreate 方法中的 setContentView 方法之前调用它。...StatusbarUtils.enableTranslucentStatusbar(this); setContentView(R.layout.activity_main); } 上面的代码中我使用...StatusbarUtils 这个辅助类,这个辅助类调用了 具体的实现透明状态栏的方法。...; import android.os.Build; import android.view.View; import android.view.Window; import android.view.WindowManager
SplashActivity实现全屏: supportRequestWindowFeature(Window.FEATURE_NO_TITLE); getWindow().setFlags...为了简单处理 这里在加载主要的active时候只做了个等待处理: sleep(3000); SplashActivity的xml: <?...void goHome(Context context) { Intent intent = new Intent(context, HomeActivity.class); intent.addFlags...中调用: try { sleep(5000);//使程序休眠一秒 HomeActivity.goHome(this); }...savedInstanceState) { supportRequestWindowFeature(Window.FEATURE_NO_TITLE); getWindow().setFlags
= null) { actionBar.hide(); } 透明顶部状态栏 状态栏默认的颜色是绿色的,很丑,更改颜色可以在theme中修改对应主题的颜色。...当然,个人认为透明状态栏最为美观,下面是实现方式: 1、在gradle中添加依赖 api 'com.readystatesoftware.systembartint:systembartint:1.0.3...android.app.Activity; import android.graphics.Color; import android.os.Build; import android.view.View; import android.view.Window...View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_STABLE); window.addFlags...Build.VERSION_CODES.KITKAT) { Window window = activity.getWindow(); window.setFlags
FileProvider.getUriForFile(context, BuildConfig.APPLICATION_ID+".provider", apkFile); FileProvider.getUriForFile();方法中fileprovider...对象为空,因此推断出AndroidManifest.xml中provider节点下面的authority属性有问题,没有找到。...android.support.FILE_PROVIDER_PATHS" android:resource="@xml/file_paths" /> 还有就是在工具类哪里打开下载文件的方法...Intent.ACTION_VIEW); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) { intent.setFlags...intent.setDataAndType(Uri.fromFile(apkFile), "application/vnd.android.package-archive"); intent.setFlags
android开发中如何结束所有的activity 一、每一个activity都有自己的生命周期,被打开了最终就要被关闭。...; intent.setClass(DActivity.this,BActivity.class); intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP...(intent); 如果已经启动了四个Activity:A,B,C和D, 在D Activity里,想再启动一个Activity B,但不变成A,B,C,D,B,而是希望是A,B,而且B上的数据不保留...Intent intent = new Intent(); intent.setClass(DActivity.this,BActivity.class); intent.setFlags...(intent1); 如果已经启动了四个Activity:A,B,C和D,在D Activity里,想要一次性关闭所有的activity 创建一个专门用来处理activity的类 /** *
Dart 是一门“纯”面向对象的编程语言,其中所有的对象都是类的实例。但是 Dart 并不要求所有代码都定义在一个类中。我们可以在一个类的外面定义顶级变量、常量、函数 —— 就像面向过程语言那样。...但是,在 Dart 中,如果仅仅是一个函数,定义类反而使得代码不好维护。这个时候建议直接使用 typedef 来定义函数别名。...,那么直接定义顶级的常量和函数来替换这种方式 Java 或 C#中,如果要定义常量的话通常需要定义一个静态常量类来做,例如: // Java 代码 public class ConstParams {...public static int maxLength = 256; public static int minLength = 5; } 复制代码 这样做的好处是假设静态常量名在多个类中定义的话...建议4:不要使用 implements 实现非接口类 接口类的定义的好处是可以在多种实现方式中切换而无需更改代码,在依赖注入型的框架或代码结构中会经常使用面向接口编程的方式。
Android开发代码片段 1.获取应用的版本信息 通过PackageInfo类来得到版本信息 PackageInfo pInfo = getPackageManager().getPackageInfo...); String versionName = pInfo.versionName; int versionCode = pInfo.versionCode; 2.进入应用市场给应用评分 构造应用程序在应用市场中对应的网址...:" + packageName); Intent intent = new Intent(Intent.ACTION_UNINSTALL_PACKAGE, uri); intent.setFlags...Toast.LENGTH_SHORT); toast.setGravity(Gravity.CENTER, 0, 0); toast.show(); } 5.复制文本到剪贴板 使用ClipboardManager类...ShortcutActivity.class); intent.setComponent(componentName); intent.addFlags
前言 Android 4.4(API 19)之后,就提供了修改状态栏颜色的方法,但是在 Android 6.0(API 23)之后,才支持修改状态栏上面的文字和图标颜色,默认是白色的。...所以会导致一个问题,在 4.4 到 6.0 之间的系统,状态栏设置为浅色的话,状态栏上面白色的文字和图标会看不清 有一些第三方的系统提供了设置状态栏和状态栏文字、图标颜色的方法,比如小米的MIUI和魅族的...工具类 状态栏工具类 StatusBarUtil.java import android.annotation.TargetApi; import android.app.Activity; import...android.graphics.Color; import android.os.Build; import android.view.View; import android.view.Window...Build.VERSION_CODES.KITKAT) { Window window = activity.getWindow(); window.setFlags
= PackageManager.PERMISSION_GRANTED) {// api 23+ 您需要请求读/写权限,即使它们已经在您的清单中。...install.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);// 一定要记得 先 setFlags 在 addFlags 否则 set 会覆盖 add...Context.getExternalFilesDir(null) 所获取的目录路径; :外部存储空间应用私有目录下的 cache/ 目录,等同于 Context.getExternalCacheDir(); 生产 Uri 在完整代码中...(getApplicationContext(), "com.csti.cetx.fileProvider", file);//在AndroidManifest中的android:authorities...);// 一定要记得 先 setFlags 在 addFlags 否则 set 会覆盖 add install.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION
2.编写xposed module 基本信息 在src/main/res/values/strings.xml中添加如下: 强制截屏...@lushan 在AndroidManifest.xml文件中,标签内部添加以下代码 在app文件夹下的build.gradle中检查 dependencies块中的内容 ? 说明:网上的教程大多数写的是用 provided,该关键字已被 compileOnly 取代。...文档: https://developer.android.com/reference/android/view/Window#setFlags(int,%20int)) window.addFlags...框架中启用这个模块之后,咱们简单测试一下闪图 ?
例: A,B,C,D四个Activity,启动模式均为默认,依次启动,在D中启动B。...添加intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP) 效果:C会被清除出栈;然后B被finish掉,重新启动;D被销毁。...); startActivity(intent); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP...C会被清除出栈;会调用B的onNewIntent()方法,不重新启动 Intent intent = new Intent(this, TestBActivity.class); intent.setFlags...启动模式FLAG_ACTIVITY_CLEAR_TOP 重新启动: Intent intent = new Intent(context, MainActivity.class); intent.addFlags
--外部存储又分为SD卡和扩展卡内存,此处外部存储空间对应为内置SD卡内存--> <!...file_path.png 4.最后代码中调用安装apk,此处要判断区分7.0以后和之前版本,因为Android7.0之前使用FileProvider这个方式也会异常。...有一点需要注意 intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK)必须在 intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION...)前编码,否则setFlags()会覆盖addFlags()。...>= Build.VERSION_CODES.N) { //判读版本是否在7.0以上 // 参数1 上下文, 参数2 Provider主机地址 和清单配置文件中保持一致
一、前言 Unity有一个强大的特性,它可以帮助我们在没有任何编程的情况下修改Inspector面板中的值。...本文介绍了我们需要知道的所有信息,以便在Unity Inspector面板中显示我们的变量和自定义类。...在编程语言中,public意味着其他类也可以看到这个值。在Unity public中,也意味着变量显示在Inspector面板中。...三、显示类 公共类+变量 我们的测试脚本现在应该有一个Address变量。假设我们也可以在其他脚本中使用一个Address,我们就可以为它创建一个完整的类。...类显示在Inspector面板中 诀窍是:如果一个类应该显示在Inspector面板中,我们只需通过编写[System.erialable]在类声明之上 下面是我们修改的脚本: using UnityEngine
总来来说分为三大类分别是:Application Window(应用程序窗口)、Sub Windwow(子窗口)、System Window(系统窗口),每个大类又包含了很多种类型,它们都定义在WindowManager...的静态内部类LayoutParams中,接下来我们分别对这三大类进行讲解。...设置Window的Flag有三种方法,第一种是通过Window的addFlags方法: ? 第二种通过Window的setFlags方法: ?...其实Window的addFlags方法内部会调用setFlags方法,因此这两种方法区别不大。...因此,除了在AndroidMainfest中为Activity设置android:windowSoftInputMode以外还可以在Java代码中为Window设置SoftInputMode: ?
在 Android 8.0 系统中,未知来源应用不可直接安装,跳转到的是未知来源应用管理列表,如果需要安装,则需要手动授权"安装未知应用"。..." /> 在【打开安装包】的代码中添加兼容 Android 8.0 的代码判断; private void notifyToInstall() { if (!...环境下启动Activity,设置下面的标签 intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); if (Build.VERSION.SDK_INT...>= 24) { //判读版本是否在7.0以上 //参数1 上下文, 参数2 Provider主机地址 和配置文件中保持一致 参数3 共享的文件...安装未知应用页面,手动允许 在回调过程中添加一个状态,activity.startActivityForResult(intent2, 100); apkUrl 为下载到本地手机的 apk 路径,接收之后直接安装
Activity的两种启动模式:FLAG_ACTIVITY_CLEAR_TOP和FLAG_ACTIVITY_REORDER_TO_FRONT 1. 如果已经启动了四个Activity:A,B,C和D。...在D Activity里,我们要跳到B Activity,同时希望C finish掉,可以在startActivity(intent)里的intent里添加flags标记,如下所示: Intent intent...= new Intent(this, B.class); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(intent...如果不想重新再创建一个新的B Activity,则在上面的代码里再加上: intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP); 这样B Activity...如果已经启动了四个Activity:A,B,C和D,在D Activity里,想再启动一个Actvity B,但不变成A,B,C,D,B,而是希望是A,C,D,B,则可以像下面写代码: Intent intent
install.setDataAndType(Uri.parse("file://" + mPath), "application/vnd.android.package-archive"); install.addFlags...环境下启动Activity,设置下面的标签 install.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); //添加这一句表示对目标应用临时授权该...Uri所代表的文件 install.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION); install.setDataAndType...定义FileProvider 由于FileProvider提供了ContentURI的生成方法,所以我们无需在代码中定义写一个它的子类 name属性是固定的。...(Intent.FLAG_ACTIVITY_NEW_TASK);//可以不加 intent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION); startActivity
在我们提交新版本时拒绝了,理由是:手机背光状态下,屏幕不会自动变灰。 ? 这里为了测试,我将它改为30秒,这样做有什么影响呢?就是开启任何一个应用,在30秒之内,我如果没有任何的操作,就自动锁屏了。...; 游戏存在的问题是,无论等待多长时间,屏幕一直被点亮,这样会导致一个问题:耗电会快,因为你游戏一直开在那里,CPU和屏幕都是需要手机电池供电的。...openKeepScreenOn() { closeKeepScreenOn(); if (bFlagKeepScreen) { getWindow().setFlags...方法,我测试的结果是没有用,所以改用了setFlags 参考资料: Android 屏幕锁 - FLAG_KEEP_SCREEN_ON 分享一个定时唤醒屏幕解锁键盘并提示用户的实例 Keep the...screen awake throughout my activity Cocos2dx 解决在Android平台运行游戏长时间不操作,导致的锁屏问题
*WindowManger的关联类* ? ? 1.Window是一个抽象类,具体的实现类为PhoneWindow,它对View进行管理。...来进行跨进程通信,WMS作为系统服务有很多API是不会暴露给WindowManager的 3.Window是以View的形式存在的 4.PhoneWindow是在Activity启动过程中的attach...方法中创建的 5.WindowManagerImpl虽然是WindowManger的实现类,但是没有实现什么功能,而是将功能实现委托给了WindowManagerGlobal,这里用到的是桥接模式 6....设置Window的Flag的3种方法 Window mWindow = getWindow(); mWindow.addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN...); Window mWindow = getWindow(); mWindow.setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREE
声音设置 调整手机的各种音量可以通过AudioManager这个类来操作 注:安卓手机各种音量的最大数值不一样,请通过下面具体的方法获取最大音量值。...窗口顶部状态栏Notification, STREAM_RING 铃声 STREAM_SYSTEM 系统 STREAM_VOICE_CALL 通话 STREAM_DTMF 双音多频 不过三方的Rom中...adjustStreamVolume(int streamType, int direction, int flags)方法也可用来调整音量, 只不过不能设置具体数值,根据系统的阀值来自动调整,其中第1和第...android.media.AudioManager; import android.net.Uri; import android.os.Build; import android.provider.Settings; import android.view.Window...intent.setData(Uri.parse("package:" + mContext.getPackageName())); intent.addFlags
领取专属 10元无门槛券
手把手带您无忧上云