我想要設計一個活動,其中我有一個標題爲「以後不再顯示該畫面」的按鈕,按下該按鈕即可跳過啓動畫面,無論多少次用戶打開應用程序。
我嘗試使用android共享首選項(看到其他問題的答案),但我沒有得到所需的輸出。我在下面給出了我用過的代碼。請讓我知道代碼必須以何種方式更正。如果還有其他方法,我很高興知道這一點。 在此先感謝。在用戶首選項上僅顯示一次啓動畫面
private class MyThread extends Thread
{
public boolean bRun = true;
@Override
public void run()
{
try
{
sleep(10000);
if (bRun)
{
startActivity(new Intent(getApplicationContext(), PnbActivity.class));
}
}
catch (InterruptedException e)
{
e.printStackTrace();
}
}
}
public class Preference {
private SharedPreferences sharedPreferences;
private SharedPreferences.Editor editor;
public Preference(Context context) {
sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context);
}
public void writePreference(String key, Object value) {
if(value instanceof Boolean) {
editor = sharedPreferences.edit();
editor.putBoolean(key, (Boolean) value);
editor.commit();
}
}
public Object readPreference(String key , Object defValue) {
if(defValue instanceof Boolean)
return sharedPreferences.getBoolean(key, (Boolean) defValue);
else
return null;
}
public Boolean getDisableSplash() {
return (Boolean) readPreference("disable", false);
}
public void disableSplash(Boolean value) {
Object valve = null;
writePreference("disable", valve);
}
}
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_note);
Preference preference = new Preference(Note.this);
Boolean result = preference.getDisableSplash();
if(!result) {
// dissable you splash activity here and move to next one
}
thread = new MyThread();
thread.start();}}
public void skipAct(View v){
Preference preference = new Preference(Note.this);
preference.disableSplash(true);
Intent i = new Intent(Note.this, PnbActivity.class);
startActivity(i);
}
設置'共享preferance'變量**點擊**和** unclicked **,然後將共享首選值設置爲**點擊**按鈕單擊事件。那麼每次檢查共享首選項的值,如果它被選中,則開始活動並跳轉到「主要活動」並調用完成,否則繼續執行splashcreen – sud
現在檢查我編輯的代碼 – sud