我有一个简单的活动,我在其中创建通知。单击通知时,应该打开另一个活动。但是,Resualt活动无法启动。我在哪里弄错了?谢谢你的帮助。
MainActivity:
public class MainActivity extends Activity {
Button btnShow, btnClear;
NotificationManager manager;
Notification myNotication;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button notif = (Button) findViewById(R.id.notif);
manager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
notif.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
showNotif("09364415580", "hello!", getApplication());
}
});
}
public void showNotif(String from, String body , Context con) {
Intent intent = new Intent(MainActivity.this , Resualt.class);
PendingIntent pendingIntent = PendingIntent.getActivity(MainActivity.this, 1, intent, 0);
Notification.Builder builder = new Notification.Builder(MainActivity.this);
builder.setAutoCancel(false);
builder.setTicker(body);
builder.setContentTitle(from);
builder.setContentText(body);
builder.setSmallIcon(R.drawable.searc);
builder.setContentIntent(pendingIntent);
builder.setOngoing(true);
// builder.setSubText("This is subtext..."); //API level 16
builder.setNumber(100);
builder.build();
myNotication = builder.getNotification();
manager.notify(11, myNotication);
}
ResualtActivity:
public class Resualt extends Activity{
@Override
public void onCreate(Bundle savedInstanceState, PersistableBundle persistentState) {
super.onCreate(savedInstanceState, persistentState);
setContentView(R.layout.resualt);
Toast.makeText(getApplicationContext(),"hi ! hi ! hi ! " , Toast.LENGTH_LONG).show();
}
答案 0 :(得分:0)
修正此行:
NotificationCompat.Builder builder = new NotificationCompat.Builder(MainActivity.this);
然后改变这个:
manager.notify(11, builder.build());
并删除这些行
builder.build();
myNotication = builder.getNotification();
答案 1 :(得分:0)
我刚刚在本地测试了您的代码,您似乎忘记在AndroidManifest.xml中声明您的Resualt Activity。尝试添加
<activity android:name=".Resualt">
</activity>
在应用程序标记内。