如何在Application类中使用Android资源?

时间:2015-07-13 17:55:49

标签: android

我有一个简单的问题,我无法在我的应用程序类中获取我的资源。无论如何要做到这一点?

public class cApplication extends Application {

    @Override
    public void onCreate(){
        super.onCreate();
    }

    public void sendNotification(String message, Class<?> activityToOpen, int appId) {
        NotificationCompat.Builder mBuilder =
                new NotificationCompat.Builder(this)
                        .setSmallIcon(R.drawable.noticon)
                        .setContentTitle("My notification")
                        .setContentText("Hello World!");
        Intent resultIntent = new Intent(this, activityToOpen);
        TaskStackBuilder stackBuilder = TaskStackBuilder.create(this);
        stackBuilder.addParentStack(MainScreenActivity.class);
        stackBuilder.addNextIntent(resultIntent);
        PendingIntent resultPendingIntent =
                stackBuilder.getPendingIntent(
                        0,
                        PendingIntent.FLAG_UPDATE_CURRENT
                );
        mBuilder.setContentIntent(resultPendingIntent);
        NotificationManager mNotificationManager =
                (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
        mNotificationManager.notify(appId, mBuilder.build());
    }
}

我有一个自定义应用程序类来处理一些应用程序的东西。我试图将所有通知内容委托给Application类,但我无法访问我的资源文件夹中的小图标。

.setSmallIcon(R.drawable.noticon)

找不到R.我该如何解决这个问题,或者我会在服务/活动中实现通知方法?

编辑:对不起。我意识到我的应用程序没有正确重建,因此找不到R。

2 个答案:

答案 0 :(得分:2)

有时您需要清理并构建以重新创建R文件。注释调用R类的行并在生成后取消注释

答案 1 :(得分:0)

R在应用程序类中可用尝试清理项目