Ваше Заявление должно установить PendingIntent, который требуется setLatestEventInfo ().
Поэтому замените:
notification.setLatestEventInfo(this, msg, details, null);
с
Intent intent = new Intent(this, MainActivity.class);
PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent, 0);
notification.setLatestEventInfo(this, msg, details, pendingIntent);
Это подаст вашу Заявку работать, хотя, кроме того, я сильно рекомендую вам distiguate между Apilevels.
Ваше Заявление могло бы быть похожим на это:
public class MainActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final Button button = (Button) findViewById(R.id.button1);
final TextView texty = (TextView) findViewById(R.id.textView2);
final EditText input = (EditText) findViewById(R.id.editText1);
final EditText input2 = (EditText) findViewById(R.id.editText2);
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
String notificationmessage = input.getText().toString();
String notificationdetails = input2.getText().toString();
texty.setText("Notification Created");
displayNotification(notificationmessage, notificationdetails);
}
});
}
@Override
protected void onStart() {
super.onStart();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
/**
* Show a notification while this service is running.
*
*/
private void displayNotification(String msg, String details) {
int num = 0;
NotificationManager manager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
Intent intent = new Intent(this, MainActivity.class);
PendingIntent pendingIntent = PendingIntent.getActivity(this, 0,
intent, 0);
int currentapiVersion = android.os.Build.VERSION.SDK_INT;
if (currentapiVersion <= 8) {
manager.notify(num,
createNotificationApi8(msg, details, pendingIntent));
} else {
manager.notify(num,
createNotificationApi14(msg, details, pendingIntent));
}
}
@TargetApi(value = 14)
private Notification createNotificationApi14(String msg, String details,
PendingIntent intent) {
Notification.Builder builder = new Builder(getApplicationContext());
builder.setSmallIcon(R.drawable.ic_launcher);
builder.setContentTitle(msg);
builder.setContentIntent(intent);
builder.setContentInfo(details);
Notification notification = builder.getNotification();
return notification;
}
@TargetApi(value = 8)
private Notification createNotificationApi8(String msg, String details,
PendingIntent intent) {
Notification notification = new Notification(R.drawable.ic_launcher,
msg, System.currentTimeMillis());
notification.setLatestEventInfo(this, msg, details, intent);
return notification;
}
}
Я надеюсь, что это помогает вам, еще, пожалуйста, сообщите мне.
Andac