Android状态栏图标大小 - 使用Cordova / Phonegap推送插件

时间:2015-06-09 09:03:27

标签: android cordova push-notification ionic phonegap-pushplugin

我正在开发使用Ionic(Cordova + AngularJS)的Android应用程序。有了它,我使用Push Plugin(https://github.com/phonegap-build/PushPlugin

在我的资源文件夹中我指定了6个不同的应用程序图标,从ldpixxxhdpi

<icon src="resources/android/icon/drawable-ldpi-icon.png" density="ldpi"/>
<icon src="resources/android/icon/drawable-mdpi-icon.png" density="mdpi"/>
<icon src="resources/android/icon/drawable-hdpi-icon.png" density="hdpi"/>
<icon src="resources/android/icon/drawable-xhdpi-icon.png" density="xhdpi"/>
<icon src="resources/android/icon/drawable-xxhdpi-icon.png" density="xxhdpi"/>
<icon src="resources/android/icon/drawable-xxxhdpi-icon.png" density="xxxhdpi"/>

现在我构建了这个,我的最终资源文件夹结构如下所示:

android/res/drawable-ldpi/icon.png
android/res/drawable-mdpi/icon.png

依旧......

现在,这适用于所有设备上的App图标。 但是如果我得到推送通知,状态栏中出现的应用程序图标太大,所以只显示图标的中间(仅在第一秒,似乎之后会重新加载通知(如果我拉)例如,状态栏正确显示)。

经过一些研究后,我发现我提供的图标对于一般的应用程序图标是正确的,但状态栏的图标必须在另一个维度,我在这里找到:Android status bar expects icons of size 25x25dp while guidelines recommend 32x32dp. Who is wrong?(第二个答案)

例如,使用我的三星s5我将我的xxhdpi图标144 * 144px切换为72 * 72px大小的相同图标,它可以正常工作。图标不再被剪切了。

现在问我的问题: 我如何设置这个&#34; secondary&#34;我只在我的资源文件夹中用于通知而不覆盖原始图标的图标?

1 个答案:

答案 0 :(得分:1)

您不需要对图像尺寸如此严格。将两个图标放在platform / android / res / drawable文件夹中。一个在棒棒糖上的导航栏上显示(例如:small_icon.png),它需要是白色的,没有背景。和其他一个较旧的Android版本(例如:large_icon.png)。

打开位于以下位置的PushPlugin配置文件:

platforms/android/src/com/plugin/gcm/GCMIntentService.java

在NotificationCompat.Builder对象中设置图标路径:

.setSmallIcon(com.domain.appName.R.drawable.small_icon)
.setLargeIcon(largeIcon)

大图标需要是位图,所以在此之前定义:

import android.graphics.Bitmap;
import android.graphics.BitmapFactory;

Bitmap largeIcon = BitmapFactory.decodeResource(getResources(), com.domain.appName.R.drawable.large_icon);

希望它对你有所帮助。