Вместо запуска кода с помощью . run2.sh
вы можете запустить скрипт с помощью sh run2.sh
или bash run2.sh
. Новый экземпляр будет открыт для запуска скрипта, после чего он будет закрыт в конце скрипта, оставив другую оболочку открыт. `
Основная причина: sendBroadcast - это метод класса Context
, потому что вы вызываете его в классе Adapter
, поэтому компилятор показывает ошибку «sendBroadcast не может быть решена» ».
Решение: Получить контекст из экземпляра представления, затем вызвать метод sendBroadcast
.
holder.constraintLayout.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//Store songList and songIndex in mSharedPreferences
storageUtil.storeSong(Main.musicList);
storageUtil.storeSongIndex(holder.getAdapterPosition());
// Obtain context from view instance.
Context context = v.getContext();
//Send media with BroadcastReceiver
Intent broadCastReceiverIntent = new Intent(Constants.ACTIONS.BROADCAST_PlAY_NEW_SONG);
context.sendBroadcast(broadCastReceiverIntent);
Intent broadCastReceiverIntentUpdateSong = new Intent(Constants.ACTIONS.BROADCAST_UPDATE_SONG);
context.sendBroadcast(broadCastReceiverIntentUpdateSong);
}
});