-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>