Ich habe eine Java-Klasse MyClass
, die eine Methode namens callMethod
enthält. Ich möchte diese Methode aufrufen, wenn der Benutzer auf die Benachrichtigung klicktSo rufen Sie eine Nicht-Aktivitätsmethode bei Benachrichtigung auf
Unten ist der Code ich die Meldung zu generieren verwendet
public class MainActivity extends AppCompatActivity {
Button button;
NotificationManager mNotifyMgr;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button = (Button) findViewById(R.id.button);
mNotifyMgr = (NotificationManager) this.getSystemService(Context.NOTIFICATION_SERVICE);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
PendingIntent pendingIntent = PendingIntent.getActivity(MainActivity.this, 0, new Intent(MainActivity.this, MyClass.class), PendingIntent.FLAG_UPDATE_CURRENT);
Notification notification =
new NotificationCompat.Builder(MainActivity.this)
.setContentTitle("Notification")
.setSmallIcon(R.drawable.ic_launcher)
.setContentText("Downloaded")
.setContentIntent(pendingIntent)
.build();
mNotifyMgr.notify(1,notification);
}
});
}
}
und darunter ist die Umsetzung von MyClass
public class MyClass {
public void callMethod(){
System.out.println("Notification clicked");
}
}
Bitte helfen Sie, Ich bin seit einer Weile in diesem stecken
versuchen MyClass.callMethod(), es wird funktionieren, können Sie habe eine Util-Klasse, um einige generische Fälle wie diese zu behandeln –
@BabajideApata wo rufe ich die MyClass.callMethod() auf? – Ezio
Blick auf diese Zeile PendingIntent pendingIntent = PendingIntent.getActivity (MainActivity.this, 0, neue Absicht (MainActivity.this, MyClass.class), PendingIntent.FLAG_UPDATE_CURRENT); was es tut, ist meine Klasse zu nennen, also innerhalb dieser Klasse, Sie kann Ihre Methode aufrufen, sofort startet die Klasse –