0

我正在做一个非常简单的示例,我想要一个按钮来生成通知。我不是在寻找交互性(所以没有意图);只是应该发布一个简单的通知。UI 仅包含一个按钮,单击该按钮可生成通知。

这是代码:

package ank.notificationdemo;

import android.R.drawable;
import android.os.Bundle;
import android.app.Activity;
import android.app.Notification;
import android.app.NotificationManager;
import android.view.View;
import android.widget.Button;

public class MainActivity extends Activity {
    Button btn_notify;
    Notification noti;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        btn_notify = (Button) findViewById(R.id.btn_notify);
        noti = new Notification.Builder(MainActivity.this)
               .setContentTitle("Alert!").setContentText("Shipwreck at 22N-56E. Hurry!").setSmallIcon(drawable.ic_dialog_alert)
               .build();

        btn_notify.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View arg0) {
                // TODO Auto-generated method stub
                NotificationManager mgr = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
                noti.flags |= Notification.FLAG_AUTO_CANCEL;
                mgr.notify(100, noti);
            }
        });
    }
}

问题是这适用于模拟器,但主要活动无法在我的 Android 手机(运行 ICS)上加载。但是,其他示例运行良好。

关于可能出现什么问题的任何线索?

提前致谢!

4

2 回答 2

1

尝试了您的代码,结果发现问题在于使用Notification.Builder.build()

看起来他们只将其更改为.build()Jelly Bean 和支持库的最新更新。

所以只需导入新的支持库并使用它NotificationCompat.Builder。应该能解决你的问题。

于 2013-06-18T11:54:51.573 回答
0

我记得我的 Nexus4 也有类似的问题。然而,它通过在 NotificationBuilder 中设置一个 Intent 来解决。

于 2013-06-18T10:36:16.097 回答