-1

我使用Switch button(如果開關按鈕在其禁用splash其他工作正常)爲禁用splash屏幕。但我不能這樣做。我嘗試android-activity-alias但我沒有得到任何成功。請幫幫我。 (另外我正在使用Android-Studio 2.3.0)。這裏是我的開關按鈕執行隱藏閃屏

代碼這是我的切換按鈕佈局

<?xml version="1.0" encoding="utf-8"?> 
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:paddingBottom="@dimen/activity_vertical_margin" 
android:paddingLeft="@dimen/activity_horizontal_margin" 
android:paddingRight="@dimen/activity_horizontal_margin" 
android:paddingTop="@dimen/activity_vertical_margin" 
android:background="@drawable/bg"> 

<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_marginTop="60dp" 
    android:orientation="vertical" 
    android:paddingBottom="@dimen/activity_vertical_margin" 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin"> 

    <TextView 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:textColor="@color/white" 
     android:text="@string/switchButtonSplash"/> 

    <LinearLayout 
     android:layout_width="150dp" 
     android:layout_height="wrap_content" 
     android:layout_marginTop="5dp" 
     android:gravity="fill" 
     android:orientation="horizontal"> 

     <Switch 
      android:id="@+id/switch1" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_marginStart="20dp" 
      android:layout_marginTop="5dp" 
      android:gravity="center" 
      android:text="" /> 

    </LinearLayout> 

    <View 
     android:layout_width="match_parent" 
     android:layout_height="1dp" 
     android:layout_marginBottom="5dp" 
     android:layout_marginTop="5dp" 
     android:background="@android:color/darker_gray"/> 

</LinearLayout> 

</ScrollView> 

My Switch Button

這是我的開關按鈕編程

package ahmer.afzal.myproject; 

import android.content.Intent; 
import android.os.Bundle; 
import android.support.v7.app.AppCompatActivity; 
import android.support.v7.widget.Toolbar; 
import android.view.MenuItem; 
import android.widget.CompoundButton; 
import android.widget.Switch; 

public class SettingsActivity extends AppCompatActivity 
{ 
@Override 
protected void onCreate(Bundle savedInstanceState) 
{ 
    super.onCreate(savedInstanceState); 
    Switch toggle = (Switch) findViewById(R.id.switch1); 
    toggle.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() 
    { 
     public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) 
     { 
      if (isChecked) 
      { 
       startActivity(new Intent(SettingsActivity.this, MainActivity.class)); 
       finish(); 
      } 
      else 
       { 
        startActivity(new Intent(SettingsActivity.this, SplashActivity.class)); 
        finish(); 
       } 
     } 
    }); 
    setContentView(R.layout.setting_app_bar_main); 
    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 
    setSupportActionBar(toolbar); 
    if (getSupportActionBar() != null) 
    { 
     getSupportActionBar().setDisplayHomeAsUpEnabled(true); 
     getSupportActionBar().setDisplayShowHomeEnabled(true); 
    } 
} 
@Override 
public boolean onOptionsItemSelected(MenuItem item) 
{ 
    if (item.getItemId() == android.R.id.home) 
    { 
     finish(); 
    } 
    return super.onOptionsItemSelected(item); 
} 
} 

清單

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
package="ahmer.afzal.myproject" 
android:versionCode="550" 
android:versionName="19.00"> 

<uses-permission android:name="android.permission.INTERNET"/> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> 
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> 
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/> 
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/> 
<uses-permission android:name="android.permission.READ_PHONE_STATE"/> 
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> 
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 
<uses-permission android:name="android.permission.WRITE_SETTINGS"/> 
<uses-permission android:name="android.permission.WAKE_LOCK" /> 
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/> 

<application 
    android:exported="true" 
    android:allowBackup="true" 
    android:icon="@mipmap/ic_launcher" 
    android:label="@string/app_name" 
    android:supportsRtl="true" 
    android:screenOrientation="portrait" 
    android:theme="@style/AppTheme"> 
    <activity 
     android:name=".SplashActivity" 
     android:screenOrientation="portrait" 
     android:theme="@style/AppTheme.NoActionBar"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 
      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
    <activity 
     android:name=".MainActivity" 
     android:screenOrientation="portrait" 
     android:theme="@style/AppTheme.NoActionBar"> 
    </activity> 
</application> 
</manifest> 
+1

你想做什麼?如果開關啓用,你想顯示飛濺或不? –

+1

@ Mr.Rabbit'Splash screen'已經默認顯示,我想如果我的開關屏幕上的開關按鈕會熄滅。 –

回答

0

你不能把什麼開關按鈕的狀態時,應用程序最後打開,因爲開關按鈕將不保留其狀態的基礎上決定,你必須保存在某個地方時,它用戶改變它。

在這種情況下,您可以將開關按鈕的狀態保存在您的啓動器活動的sharedPreferencesonCreate()中,以檢查狀態並相應地做出決定。但在這種情況下,如果您的啓動器活動是Splash,那麼在您進行這些檢查之前,它至少會顯示一次,只需幾分之一秒。

P.S:您無法更改清單中聲明的​​啓動器活動。

+1

你能和我分享一些能夠幫助我的暗示代碼嗎?如果你能我會感謝你。 –

+1

謝謝! @先生。兔子我做到了。 –

+1

@AhmerAfzal歡迎!讓我知道你是否需要更多幫助!如果幫助,請接受答案。 –

0

首先,我創造了新的LauncherActivity和刪除以前創建SettingsActivity

LauncherActivity

package="ahmer.afzal.myproject" 

import android.app.Activity; 
import android.content.Context; 
import android.content.Intent; 
import android.content.SharedPreferences; 
import android.os.Bundle; 

public class LauncherActivity extends Activity 
{ 
    public static String TRANSPARENT = "transparent"; 
    private SharedPreferences sharedPref; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) 
    { 
     super.onCreate(savedInstanceState); 
     sharedPref = getSharedPreferences("myPrefs", Context.MODE_PRIVATE); 
     if(!sharedPref.getBoolean(TRANSPARENT, false)) 
     { 
      startActivity(new Intent(LauncherActivity.this, SplashActivity.class)); 
     } 
     else 
      { 
       startActivity(new Intent(LauncherActivity.this, MainActivity.class)); 
      } 
      finish(); 
    } 
} 

清單

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
package="ahmer.afzal.myproject" 
android:versionCode="550" 
android:versionName="19.00"> 

<uses-permission android:name="android.permission.INTERNET"/> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> 
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> 
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/> 
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/> 
<uses-permission android:name="android.permission.READ_PHONE_STATE"/> 
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> 
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 
<uses-permission android:name="android.permission.WRITE_SETTINGS"/> 
<uses-permission android:name="android.permission.WAKE_LOCK" /> 
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/> 

<application 
    android:exported="true" 
    android:noHistory="true" 
    android:allowBackup="true" 
    android:icon="@mipmap/ic_launcher" 
    android:label="@string/app_name" 
    android:supportsRtl="true" 
    android:screenOrientation="portrait" 
    android:theme="@style/AppTheme"> 
    <activity 
     android:name=".LauncherActivity" 
     android:screenOrientation="portrait" 
     android:theme="@style/AppTheme.NoActionBar"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 
      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
    <activity 
     android:name=".MainActivity" 
     android:screenOrientation="portrait" 
     android:theme="@style/AppTheme.NoActionBar"> 
    </activity> 
    <activity 
     android:name=".SplashActivity" 
     android:screenOrientation="portrait" 
     android:theme="@style/AppTheme.NoActionBar"> 
    </activity> 
</application> 
</manifest>