精华内容
下载资源
问答
  • 包括:通知栏消息、点亮屏幕、震动、声音、显示样式等。下面是简单的效果图:   这是本文中的例子下载链接 下面主要讲的是: AndroidManifest 的权限配置 静态常量类 Constant MainActivity 主要代码:...

    这是一篇关于 Android 通知栏的记录。包括:通知栏消息、点亮屏幕、震动、声音、显示样式等。下面是简单的效果图:


      

    这是本文中的例子下载链接

    下面主要讲的是:

    • AndroidManifest 的权限配置
    • 静态常量类 Constant
    • MainActivity 主要代码:设置通知栏样式以及显示,点亮屏幕
    • 点击通知栏要跳转的类 NotificationDetailsActivity

    1. AndroidManifest 的权限配置

        <uses-permission android:name="android.permission.WAKE_LOCK" />
        <uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
    

    2. 静态常量类 Constant

    /**
     * author: wu
     * date: on 2018/11/14.
     * describe: 静态常量类
     */
    
    public class Constant {
        public static Integer TYPE1 = 1;
        public static Integer TYPE2 = 2;
        public static Integer TYPE3 = 3;
    }

    3. MainActivity 主要代码:设置通知栏样式以及显示,点亮屏幕

    内容比较简单,直接给出代码,复制即可用,xml 文件非常简单,只有三个 TextView,在这里就不再给出:

    public class MainActivity extends AppCompatActivity {
    
        private TextView tv_1, tv_2, tv_3;
        private Notification notification;
        private NotificationCompat.Builder builder;
        private NotificationManager manager;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            tv_1 = findViewById(R.id.tv_1);
            tv_2 = findViewById(R.id.tv_2);
            tv_3 = findViewById(R.id.tv_3);
    
            //短文本,点亮屏幕显示
            tv_1.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    //3秒后发通知,这样可以模仿锁屏,点亮屏幕
                    Handler handler = new Handler();
                    handler.postDelayed(new Runnable() {
                        @Override
                        public void run() {
                            setNotification(1);
                            //唤醒屏幕并解锁
                            wakeUpAndUnlock(MainActivity.this);
                        }
                    }, 3000);
                }
            });
            //长文本
            tv_2.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    setNotification(2);
                }
            });
            //带图片
            tv_3.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    setNotification(3);
                }
            });
        }
    
        //设置通知栏消息样式
        private void setNotification(int type) {
            //点击通知栏消息跳转页
            Intent intent = new Intent(this, NotificationDetailsActivity.class);
            PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent, 0);
            //创建通知消息管理类
            manager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
            builder = new NotificationCompat.Builder(this)//创建通知消息实例
                    .setContentTitle("我是标题")
                    .setContentText("我是内容")
                    .setWhen(System.currentTimeMillis())//通知栏显示时间
                    .setSmallIcon(R.mipmap.ic_launcher)//通知栏小图标
                    .setLargeIcon(BitmapFactory.decodeResource(getResources(), R.mipmap.ic_launcher))//通知栏下拉是图标
                    .setContentIntent(pendingIntent)//关联点击通知栏跳转页面
                    .setPriority(NotificationCompat.PRIORITY_MAX)//设置通知消息优先级
                    .setAutoCancel(true)//设置点击通知栏消息后,通知消息自动消失
    //                .setSound(Uri.fromFile(new File("/system/MP3/music.mp3"))) //通知栏消息提示音
                    .setVibrate(new long[]{0, 1000, 1000, 1000}) //通知栏消息震动
                    .setLights(Color.GREEN, 1000, 2000) //通知栏消息闪灯(亮一秒间隔两秒再亮)
                    .setDefaults(NotificationCompat.DEFAULT_ALL); //通知栏提示音、震动、闪灯等都设置为默认
    
            if (type == 1) {
                //短文本
                notification = builder.build();
                //Constant.TYPE1为通知栏消息标识符,每个id都是不同的
                manager.notify(Constant.TYPE1, notification);
            } else if (type == 2) {
                //长文本
                notification = builder.setStyle(new NotificationCompat.BigTextStyle().
                        bigText("我是长文字内容: 今年双十一结束后,一如既往又出现了一波冲动剁手党被理智唤醒的退货潮。不过,一位来自福建厦门的网友在这其中贡献了堪称历史里程碑式的高光时刻。别人退衣服退鞋子,而他要退的是一只蓝孔雀、一只宠物小香猪、还有一斤娃娃鱼……"))
                        .build();
                manager.notify(Constant.TYPE2, notification);
            } else {
                //带图片
                notification = builder.setStyle(new NotificationCompat.BigPictureStyle().
                        bigPicture(BitmapFactory.decodeResource(getResources(), R.mipmap.ic_launcher)))
                        .build();
                manager.notify(Constant.TYPE3, notification);
            }
        }
    
        //唤醒屏幕并解锁
        public void wakeUpAndUnlock(Context context) {
            KeyguardManager km = (KeyguardManager) context.getSystemService(Context.KEYGUARD_SERVICE);
            KeyguardManager.KeyguardLock kl = km.newKeyguardLock("unLock");
            //解锁
            kl.disableKeyguard();
            //获取电源管理器对象
            PowerManager pm = (PowerManager) context.getSystemService(Context.POWER_SERVICE);
            //获取PowerManager.WakeLock对象,后面的参数|表示同时传入两个值,最后的是LogCat里用的Tag
            PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.ACQUIRE_CAUSES_WAKEUP | PowerManager.SCREEN_DIM_WAKE_LOCK, "bright");
            //点亮屏幕
            wl.acquire();
            //释放
            wl.release();
        }
    }

    4. 点击通知栏要跳转的类 NotificationDetailsActivity

    /**
     * author: wu
     * date: on 2018/11/14.
     * describe:点击通知栏跳转过来的页面
     */
    
    public class NotificationDetailsActivity extends AppCompatActivity {
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            TextView textView = new TextView(this);
            textView.setText("我是通知详情");
            setContentView(textView);
    //        当点击通知消息跳转到详情页时根据通知消息的id关闭通知栏的显示
            NotificationManager manager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
            manager.cancel(Constant.TYPE1);
            manager.cancel(Constant.TYPE2);
            manager.cancel(Constant.TYPE2);
    
        }
    }

    到此就可以完成效果图中的效果了。

    展开全文
  • 华为mate30微信锁屏不显示内容,先检查网络问题,再看手机和微信设置项是否正确。下面列举了5种可能存在的原因及解决方法分享给大家。 一、检查手机是否设置了杂志锁屏 1、手机锁屏界面通知亮屏提示和显示所有通知...

    华为mate30微信锁屏不显示内容,先检查网络问题,再看手机和微信设置项是否正确。下面列举了5种可能存在的原因及解决方法分享给大家。

    一、检查手机是否设置了杂志锁屏

    1、手机锁屏界面通知亮屏提示和显示所有通知功能需要在杂志锁屏样式下实现,如果手机不支持杂志锁屏,则不支持此功能。(EMUI 9.1及以上 & Magic UI 2.1及以上系统即使不支持杂志锁屏,也支持锁屏显示消息内容。)

    华为mate30微信锁屏不显示内容怎么办?

    2、如果手机支持杂志锁屏,请按照以下操作将锁屏样式设置为杂志锁屏

    打开设置,搜索杂志锁屏并点击进入杂志锁屏,设置为杂志锁屏;

    如果在设置中没有找到此开关,建议进入主题应用开启:主题 > 我的 > 混搭 > 锁屏样式 > 杂志锁屏 > 应用。

    开启杂志锁屏
    二、检查手机是否设置微信来消息亮屏/显示通知内容

    1、设置来消息亮屏
    进入设置,搜索并打开通知亮屏提示,打开通知亮屏提示开关,即可在息屏状态下收到通知后自动亮屏。

    华为mate30微信锁屏不显示内容怎么办?
    2、在锁屏界面显示通知内容

    EMUI 10.X & Magic UI 3.X:设置 > 通知 > 锁屏通知,选择显示所有通知/设置 > 通知 > 隐藏通知内容,关闭该开关;

    EMUI 9.X & Magic UI 2.X :设置 > 通知中心 > 锁屏通知,选择显示所有通知。

    EMUI 8.X:进入设置 > 应用和通知 > 通知管理,点击右上角三个点 ,点击锁屏通知,选择显示所有通知;

    EMUI 5.X:设置 > 通知和状态栏 > 通知管理,点击右上角,点击设备锁定时,选择显示所有通知内容。

    华为mate30微信锁屏不显示内容怎么办?

    3、打开允许通知和在锁屏上显示

    进入设置,搜索并进入应用管理,找到 微信,点击通知/通知管理,打开允许通知开关,将锁屏通知设置为显示。

    华为mate30微信锁屏不显示内容怎么办?END

    三、检查手机是否使用了人脸解锁

    1、为保护机主隐私,人脸解锁模式下,锁屏时消息内容会隐藏,不显示详情。如果想继续查看锁屏消息详情,可以按照以下方式设置。

    2、若想使用人脸解锁又不希望锁屏下消息隐藏,可以通过以下方式设置:

    打开设置搜索并打开人脸识别,输入锁屏密码,关闭智能显示锁屏通知开关。

    智能解锁功能关闭后将不能使用穿戴设备的智能解锁功能。

    华为mate30微信锁屏不显示内容怎么办?
    3、建议使用(指纹或锁屏密码)的解锁方式,解锁屏幕并查看消息:

    可以在设置中搜索:指纹或者锁屏密码进行指纹录制或密码输入。

    四、检查是否仅部分三方应用不显示消息详情

    可能是三方应用自身设置了隐藏消息内容,可以在三方应用的 设置中打开显示消息内容开关。

    打开QQ:点击头像 > 设置 > 消息通知 > 消息通知设置 > 通知显示消息预览 。

    打开微信:进入我 > 设置 > 新消息通知,打开通知显示消息详情。

    华为mate30微信锁屏不显示内容怎么办?END

    五、检查应用是否设置应用锁

    1、可能是应用设置了应用锁(仅EMUI 9.0.1 & Magic UI 2.0.1及以上系统),进入设置,搜索并进入应用锁,查看是否打开了微信的应用锁,关闭应用锁开关即可。

    2、如果通过以上方法问题仍未解决建议去售后检测。

    展开全文
  • 系统停留其他页面,如果发一条短信会看到如图的情况: 那么这种效果是如何实现的呢,其实很简单,这用到了系统中的两个类:Notification和NotificationManager 一个简单例子: 1、布局文件 ...

    在系统停留在其他页面时,如果发来一条短信会看到如图的情况:

    那么这种效果是如何实现的呢,其实很简单,这用到了系统中的两个类:Notification和NotificationManager

    一个简单例子:

    1、布局文件

    <?xml version="1.0" encoding="utf-8"?>

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

    android:orientation="vertical" android:layout_width="fill_parent"

    android:layout_height="fill_parent">

    <Button android:id="@+id/send" android:layout_width="fill_parent"

    android:layout_height="wrap_content" android:text="发送通知"

    android:onClick="click"></Button>

    <Button android:layout_width="fill_parent" android:id="@+id/cancel"

    android:layout_height="wrap_content" android:text="取消通知"

    android:onClick="click"></Button>

    </LinearLayout>

    2、代码

    public class MianActivity extends Activity {

    /** Called when the activity is first created. */

    NotificationManager nm = null;

    @Override

    public void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    setContentView(R.layout.main);

    }

    public void click(View v) {

    switch (v.getId()) {

    case R.id.send:

    String service = Context.NOTIFICATION_SERVICE;         

    nm = (NotificationManager) getSystemService(service);          //获得系统级服务,用于管理消息

    Notification n = new Notification();                                        //定义一个消息类

    n.icon = R.drawable.icon;                                                //设置图标

    n.tickerText = "Notification Test!!";                                        // 设置消息

    n.when = System.currentTimeMillis();                             //设置时间

    // Notification n1 =new Notification(icon,tickerText,when);    //也可以用这个构造创建

    Intent intent = new Intent(MianActivity.this, MianActivity.class);       

    PendingIntent pi = PendingIntent.getActivity(MianActivity.this, 0,intent, 0);       //消息触发后调用

    n.setLatestEventInfo(MianActivity.this, "my title", "my content",pi); //设置事件信息就是拉下标题后显示的内容

    nm.notify(1, n);      //发送通知

    break;

    case R.id.cancel:

    nm.cancel(1);           //关闭通知

    }

    }

    }

    运行效果如下:

    正如上边截图那样,可以为Notification对象设置图标、显示文字等信息,除了这些还有很多属性可以用来提醒。如:声音、震动、闪光灯等。设置方式如下:

    1、播放音乐

         n.defaults |= Notification.DEFAULT_SOUND;

         n.sound=Uri.parse("file:///sdcard/sound.mp3");

         n.sound=Uri.withAppendedPath(Audio.Media.INTERNAL_CONTENT_URI, "6");

    2、振动

         n.defaults|=Notification.DEFAULT_VIBRATE;

         long[] vib={0,50,100,150,200};

         n.vibrate=vib;

         记得加权限:<uses-permission android:name="android.permission.VIBRATE"></uses-permission>

    3、闪光灯

    n.defaults|=Notification.DEFAULT_LIGHTS;

         n.ledARGB=0x99f0ff00;

    n.ledOnMS=300;

         n.ledOffMS=2000;

         n.flags|=Notification.FLAG_SHOW_LIGHTS;

    展开全文
  • //控制logo的显示位置 Begin window.addEventListener("resize", function () { // 得到屏幕尺寸 (内部/外部宽度,内部/外部高度) changeLogoPosition(); }, false); changeLogoPosition();
    //控制logo的显示位置 Begin
            window.addEventListener("resize", function () {
                // 得到屏幕尺寸 (内部/外部宽度,内部/外部高度)
                changeLogoPosition();
            }, false);
    
            changeLogoPosition();
    
            function changeLogoPosition() {
                var contentHeight = $("#main_content_div").css("height");
                var logoHeight = $("#third_party_logo").css("height");
                contentHeight = parseInt(contentHeight.replace('px', ''));
                logoHeight = parseInt(logoHeight.replace('px', ''));
                //alert('屏幕高度:'+document.body.scrollHeight+' 内容高度:'+contentHeight+' logo高度:'+logoHeight);
                if (document.body.scrollHeight - contentHeight > logoHeight) {
                    document.getElementById('third_party_logo').style.position = 'absolute';
                } else {
                    document.getElementById('third_party_logo').style.position = '';
                }
            }
            //控制logo的显示位置 End

    展开全文
  • 巧用VC++实现全屏幕显示功能

    千次阅读 2006-09-10 13:22:00
    巧用VC++实现全屏幕显示功能 一、实现方法 实现程序的全屏幕其实很容易,它的实现思路就是:首先要自定义一个窗口类,重载该窗口类的OnPaint()或OnDraw()函数,实现具体的窗口显示功能,然后调用API函数...
  • From :  http://blog.desmondyao.com/android-show-time/ ... ...Activity到底是什么时候显示屏幕上的呢? 发表于 2016-09-22 | 5条评论 这两天我的包工头歪龙木·灵魂架构师·王半仙
  • stemwin 实现显示屏幕滑动

    千次阅读 2019-04-04 12:21:01
    最近借助一个项目学习使用emwin的使用,xia显示屏用的19264,显示的数据...这样youy有一部小工具会超出物理显示尺寸,qieh切换焦点判断当前聚焦的小工具,然后实现翻页。 一。创建父窗口和子窗口,设置窗口...
  • 最近做IM相关的项目,产品需求是用户在线,但用户手机是息屏状态或解锁页面的情况下收到新的消息,需要自动点亮屏幕显示通知样式的内容,点击消息跳转到具体的聊天界面,就像QQ或微信锁屏状态下的消息处理。...
  • 华为手机微信来消息不亮屏,漏过...根据需要打开通知方式(状态栏、横幅、锁屏显示通知),显示铃声或振动; 2、确认系统已关闭免打扰模式 确认系统已关闭免打扰模式,方法:进入设置>搜索免打扰,关闭免打扰模式
  • 使用手机,当有未接来电或者是新短消息时,手机会给出相应的提示信息,这些提示信息通常会显示到手机屏幕的状态栏。Android也提供了用于处理此类信息的类,他们是Notification和NotificationManager。其中,...
  • 这重点说下当处于锁屏状态下,新消息唤醒屏幕,并显示指定Activity 界面,因为是新消息到来直接进入某个界面 所以没通知栏的标题啊,内容啊,图标啊,都不需要,直接监测到新消息状态处用Intent ...
  • 远程控制编写之屏幕传输 MFC实现 屏幕截图 发送bmp数据 显示bmp图像: 一 : 首先要了解bmp图像的结构 详情请看我转载的一篇文章http://blog.csdn.net/hnust_xiehonghao/article/details/37656281 二: 被控端的代码...
  • 对话屏幕Dynpro(SE51) 屏幕元素 屏幕属性 PAI事件的触发、屏幕元素Function Code设置 屏幕流逻辑Screen Flow Logic 对话屏幕中的字段命名大小写问题 示例:屏幕元素自动参考数据词典(或程序)中的表或结构...
  • 屏幕上出现了需要捕捉的图片元素,则可以获取到并作出相应。 比如说监控聊天窗口界面,当有人发了任意消息,则立刻可以作出相应(比如说截个图啥的) 如何指定位置截图这一部分我正在学习....可是如何动态的...
  • Android 屏幕适配攻略(五)动态创建控件并设置控件的大小 例如 320 * 480 尺寸为 3.2 英寸的手机 ,对应的像素密度应该为 160dpi 对应的像素比例应该是 1.0也就是 1dp = 1sp = 1px 而 480 * 1280 尺寸为 4.7...
  • Linux终端里面如何显示上一屏的内容

    万次阅读 2016-07-30 14:21:48
     我终端中使用”dpkg -l”命令显示主机中安装的软件,发现内容很多,而当命令执行完毕后,只显示终端最后一屏的内容。前面的都无法查看,这个是很让人憋屈的。下面就这一个问题说一下我的解决方法。 解决...
  • 窗口、视口、屏幕显示详解--计算机绘图基本功        窗口: 逻辑环境中的一小部分,是一个矩形框;世界坐标系是逻辑坐标,SetWindowOrg(X,Y )设置窗口的逻辑坐标点(X,Y)映射为的设备环境的设备点(0,0)。   ...
  • 这个是我从同事那里拿的,分享下: 新建一个Form窗体名为:AlertWindows   代码: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System....
  • Toast类用于在屏幕显示一个消息提示框,该消息提示框没有任何控制按钮,并且不会获得焦点,经过一段时间后自动消失。通常用于显示一些快速提示信息,应用范围非常广泛。 使用Toast来显示消息提示框非常简单,只...
  • 屏幕 Dynpro

    千次阅读 2017-02-11 09:42:15
    四个数字组成的序列号,用于程序中确定屏幕,该序号同一个ABAP程序内部是唯一的。 l 屏幕类型(Screen type)。ABAP中的屏幕类型包括普通屏幕、模式对话框、选择屏幕和子屏幕等。普通屏幕一般占据整个用户窗口...
  • 使用 Snackbar,可以在屏幕底部快速的显示一条消息,大体与 Toast 相同,但多了几分灵活性:   一小段时间之后、或者用户与屏幕触发交互,Snackbar 会自动消失; 可以包含一个可选的操作; 把 ...
  • 1、垂直超出显示: android:layout_width="fill_parent" android:layout_height="wrap_content" > android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation=...
  • 图像绘制到屏幕上的原理。

    千次阅读 2016-06-12 08:01:47
    有很多种方式将一些东西映射到显示,他们需要调用不同的框架、许多功能和方法的结合体。这里我们大概的看一下屏幕之后发生的事情。当你想要弄清楚什么时候、怎么去查明并解决问题,我希望这篇文章能帮助你理解...
  • Flutter布局锦囊---屏幕顶部提醒

    千次阅读 2019-01-07 22:13:59
    “提醒页面”,显示在屏幕上方的文字提醒页面,不会覆盖原路由页面。 “路由导航”,使用Flutter的路由与导航组件推(push)提醒页面。 “倒计时抛”,使用Flutter的倒计时组件自动抛(pop)提醒页面。 “过渡...
  • ---------------------------------------需要进一步测试-----------------------------... 接收到推送信息时屏幕上不会有任何显示,也不会有提示音,但你的app delegate会收到这个推送信息。你可以这里加入代码
  • 屏幕时,EditText的setText()方法无效

    千次阅读 2015-04-03 21:57:34
    背景:当转屏幕时,activity的页面中封装一个成员变量a,每次转屏幕时,自加一,onSaveInstanceState()方法中实现逻辑代码,并onCreate()方法中用EditText控件显示递增的成员变量a,但是出现EditText无法显示的...
  • 首先感谢提供了一些思路 http://www.cnblogs.com/popfisher/p/5608436.htmladapter中 给Item设置触摸监听,记录触点距离屏幕左上方原点的位置,然后item的长按监听时间中根据记录的位置计算弹出框触点的那个...
  •  /etc/motd即message of today(布告栏信息),每次用户登录,/etc/motd文件的内容显示在用户的终端。 系统管理员可以文件中编辑系统活动消息,例如:管理员通知用户系统何时进行软件或硬件的升级、何时进行...
  • 最近修改界面,发现如果使用了底部工具栏后,listview的内容过长,导致底部栏控件挡住listview底部部分内容(还有可能listview的底部部分内容将底部栏控件遮住),影响用户的体验.解决办法其实很简单,只要将控件的上下...
  • 说起Toast,大家一定很熟悉了,常常网络连接不可用或者完成某个操作后,就会看到手机屏幕的下方,显示出来一段提示文字,过一会儿又会自动消失。它就是Toast,跟Notification一样,也是一种android的消息提醒...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 98,478
精华内容 39,391
关键字:

如何设置来消息时在屏幕上显示内容