-1

J'utilise Switch button (si le bouton de l'interrupteur sur son désactiver splash fonctionne normalement) pour désactiver l'écran splash. Mais je ne peux pas le faire. Je suis essayer android-activity-alias mais je ne reçois aucun succès. Aidez-moi, s'il vous plaît. (Aussi j'utilise Android-Studio 2.3.0). Voici mon code pourBouton de commutation effectuer masquer écran de démarrage

Ceci est mon Changer la disposition du bouton

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

Ceci est mon commutateur de programmation Bouton

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); 
} 
} 

Manifest

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

Qu'est-ce que vous voulez faire? Si le commutateur est activé, vous voulez montrer des éclaboussures ou pas? –

+1

@ Mr.Rabbit «Écran Splash» déjà affiché par défaut, je veux si mon bouton de commutation sur «écran Splash» descendra. –

Répondre

0

Vous ne pouvez pas prendre une décision sur la base de ce que l'état du bouton interrupteur lorsque l'application dernière ouvert car le bouton de l'interrupteur ne conservera pas son état, vous devez enregistrer quelque part quand l'utilisateur le change.

Dans ce cas, ce que vous pouvez faire est de sauvegarder l'état de votre bouton interrupteur sharedPreferences et onCreate() de votre activité de lancement vérifier que le statut et prendre la décision en conséquence. Mais dans ce cas également, si votre activité lanceur est Splash, elle sera affichée au moins une fois pendant une fraction de seconde jusqu'à ce que vous effectuiez ces vérifications. P.S: Vous ne pouvez pas modifier l'activité du lanceur qui est déclarée dans votre manifeste.

+1

pouvez-vous partager avec moi un code de paix de l'indice qui m'aidera. Si vous le pouvez, je serai reconnaissant envers vous. –

+1

Merci! @M. Lapin je le fais. –

+1

@AhmerAfzal bienvenue! laissez-moi savoir si vous avez besoin de plus d'aide! S'il vous plaît accepter la réponse si vous avez aidé. –

0

D'abord, je créé de nouvelles LauncherActivity et enlevé précédemment créé 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(); 
    } 
} 

Manifest

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