我正在做一个非常简单的示例,我想要一个按钮来生成通知。我不是在寻找交互性(所以没有意图);只是应该发布一个简单的通知。 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)。然而,其他例子也很好。
任何可能出错的线索?
提前致谢!
答案 0 :(得分:1)
确定
尝试使用Notification.Builder.build()
看起来他们只在Jelly Bean和支持库的最新更新中将其更改为.build()
。
因此,只需导入新的支持库,然后使用NotificationCompat.Builder
。应该解决你的问题。
答案 1 :(得分:0)
我记得我的Nexus4遇到了类似的问题。然而,它通过在NotificationBuilder中设置Intent来解决。