Это часть моего основного класса:Использование переменной в одном классе в моей службе
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if (url.startsWith("http://xxxxxx.com/songs2/Music%20Promotion/Stream/")) {
try {
songURL = new URL(url);
} catch (MalformedURLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
filename = songURL.getFile();
startService(new Intent(mainmenu.this, MyService.class));
Теперь это должно получить название воспроизводимой песни, но у меня есть сервис, который начинается уведомление, когда песня играет, и я хочу, чтобы она отображала имя файла, поэтому как передать эту переменную в мой класс сервиса?
Вот мой класс обслуживания, я хочу, чтобы отобразить его под contentText, где он говорит: «Сейчас в программе ...»
public class MyService extends Service {
private static final int HELLO_ID = 1;
private static final String ns = Context.NOTIFICATION_SERVICE;
NotificationManager mNotificationManager;
@Override
public IBinder onBind(Intent intent) {
return null;
}
@Override
public void onCreate() {
}
@Override
public void onStart(Intent intent, int startid) {
Context context2 = getApplicationContext();
CharSequence text = "Buffering...";
int duration = Toast.LENGTH_SHORT;
Toast toast = Toast.makeText(context2, text, duration);
toast.show();
mNotificationManager = (NotificationManager) getSystemService(ns);
int icon = R.drawable.notification_icon;
CharSequence tickerText = "Now playing...";
long when = System.currentTimeMillis();
Notification notification = new Notification(icon, tickerText, when);
Context context = getApplicationContext();
CharSequence contentTitle = "Music Promotion";
CharSequence contentText = "Now Playing...";
Intent notificationIntent = new Intent(this, mainmenu.class);
PendingIntent contentIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0);
notification.setLatestEventInfo(context, contentTitle, contentText, contentIntent);
mNotificationManager.notify(HELLO_ID, notification);
}
@Override
public void onDestroy() {
mNotificationManager.cancel(HELLO_ID);
}
}
Вы можете передать любую дополнительную информацию в свой комплект с помощью дополнительных опций Intent? Таким образом, вы можете создать пакет, добавить строку к нему с помощью putString, а затем добавить этот комплект в свои намерения, используя putExtras (bundle). –