只播放一次音频



我在主活动中有一个音频,每次进入主活动时都会播放。我希望它只播放一次,不管你是否切换屏幕并回来!我希望他只在第一次进入主活动时玩,其他时候他都是空的!

"'@SuppressLint("SetTextI18n"(private void getTimeFromAndroid(({

Calendar c = Calendar.getInstance();
timeOfDay = c.get(Calendar.HOUR_OF_DAY);
if(timeOfDay >= 0 && timeOfDay < 12) {
setBrightness(brilhoManha + 155);
saudacao.setText("BOM DIA, SEJA BEM-VINDO");
new Timer().schedule(new TimerTask() {
@Override
public void run() {
if (!flag) {
play = MediaPlayer.create(MainActivity.this, R.raw.audiobomdia);
play.start();
}
}
}, 2000);
}else if(timeOfDay >= 12 && timeOfDay < 18){
setBrightness(brilhoManha + 155);
saudacao.setText("BOA TARDE, SEJA BEM-VINDO");
new Timer().schedule(new TimerTask() {
@Override
public void run() {
if (!flag) {
play = MediaPlayer.create(MainActivity.this, R.raw.audioboatarde);
viewPager = findViewById(R.id.main);
}
}
}, 2000);
}else if(timeOfDay >= 18 && timeOfDay < 24){
saudacao.setText("BOA NOITE, SEJA BEM-VINDO");
setBrightness(brilhoNoite + 60);
new Timer().schedule(new TimerTask() {
@Override
public void run() {
if (!flag) {
play = MediaPlayer.create(MainActivity.this, R.raw.audioboanoite);
viewPager = findViewById(R.id.main);
}
}
}, 2000);
}else if(timeOfDay >= 0 && timeOfDay < 6){
saudacao.setText("BOA NOITE, SEJA BEM-VINDO");
setBrightness(brilhoNoite+60);
new Timer().schedule(new TimerTask() {
@Override
public void run() {
if (!flag) {
play = MediaPlayer.create(MainActivity.this, R.raw.audioboanoite);
viewPager = findViewById(R.id.main);
}
}
}, 2000);
}
} '"

这是我在主活动中的代码,用于播放音频,并根据时间显示问候信息。

编辑:

从MainActivity中删除public int status = 0。则创建类G并添加CCD_ 2。必须是静态的:

public class G extends Application{

public static int status = 0;
public static SharedPreferences preferences;
@Override
public void onCreate() {
super.onCreate();
// if you want to not play even 
// after exit from app, add these too

preferences = PreferenceManager.getDefaultSharedPreferences(this);
status = preferences.getInt("STATUS", 0);
}
}

然后将CCD_ 3添加到应用程序块中的清单

像这样:

<application
android:name="your package name.G"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >

然后将其添加到MainActivity:中播放音频的位置

if(G.status==0) {
//write codes to play audio
G.status = 1;
}

如果你想在退出应用程序后也不玩,请将此方法添加到onCreate MainActivity:

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
preferences.edit().putInt("STATUS", G.status).apply();
}
return super.onKeyDown(keyCode, event);
}

最新更新