如何在应用程序图标上显示警报图标

时间:2013-09-16 08:55:35

标签: android

我已经创建了从一个特定号码接收消息的应用程序。它工作正常。现在我想在收到消息后在收件箱应用程序图标上显示警报图标。我应该为此添加代码。

    if ( extras != null ) {
                // get array data from SMS
                Object[] smsExtra = (Object[]) extras.get( "pdus" ); // "pdus" is the key

                for ( int i = 0; i < smsExtra.length; ++i ) {
                    // get sms message
                    SmsMessage sms = SmsMessage.createFromPdu((byte[])smsExtra[i]);
                    // get content and number
                    String body = sms.getMessageBody();
                    String address = sms.getOriginatingAddress();
                    // create display message

                    if( address.equals("+91999999999")){


                    messages += "SMS from " + address + " :\n";
                    messages += body + "\n";

               // notify new arriving message
                    Toast.makeText( context, messages, Toast.LENGTH_LONG ).show();
                    listSms.add(new SmsInfo(address, body));
                    this.abortBroadcast();
    }

2 个答案:

答案 0 :(得分:0)

图标在AndroidManifest文件中进行了硬编码。它是以这种方式设计的,因此可以在不运行任何代码的情况下检索应用程序图标(这可能会导致应用程序启动速度变慢)

一些自定义家庭应用程序支持此功能,但使用私有API。

您可以尝试使用NotificationManager并在状态栏中添加图标。这将更加明显,这是一种更值得推荐的做法。在这种情况下,请使用状态栏,以便为...设计...

关于获取动态图标,当手机收到消息(推送通知或其他)并且您的应用程序用于构建通知时,您可以在构建通知之前执行小的http请求以提取动态图标文件。这会延迟发布几秒钟,但这并不重要。然后,您可以获得生成的图像并在通知中使用它。可以通过发送一些数据(我猜,推送通知)来选择特定图像,该数据可识别哪些照片(例如网址)或ID可以附加到应用的通知构建部分中已存在的网址上

答案 1 :(得分:0)

我确定您要在哪里显示警告徽章/图标,但您可以检查并尝试实施:https://github.com/jgilfelt/android-viewbadger