Android应用程序在Intent Launch上被杀死

时间:2015-05-17 06:14:05

标签: android android-intent android-launcher android-package-managers

我有一个隐藏在启动器中的应用程序。现在我想从拨号器打开应用程序。所以我有一个BroadcastReceiver,我正在处理事情。

1)首先我展示应用程序,

ComponentName componentName = new ComponentName(context,
                SplashActivity.class);
        context.getPackageManager().setComponentEnabledSetting(
                componentName,
                PackageManager.COMPONENT_ENABLED_STATE_ENABLED,
                PackageManager.DONT_KILL_APP);

2)然后启动一个Intent,

Intent launcher = new Intent(context, SplashActivity.class);
                    launcher.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
                    context.startActivity(launcher);

3)然后我再次隐藏应用程序,

ComponentName componentName2 = new ComponentName(context,
                SplashActivity.class);
        context.getPackageManager().setComponentEnabledSetting(
                componentName2,
                PackageManager.COMPONENT_ENABLED_STATE_DISABLED,
                PackageManager.DONT_KILL_APP);

问题

Intent启动成功,但应用程序在几秒钟后就被杀死了。但是,如果我启动除SplashActivity之外的任何其他活动,则不会出现此问题。问题是什么以及如何解决?

1 个答案:

答案 0 :(得分:1)

您可以在Android清单中使用$query = "INSERT INTO `chat` (`sender`, `message`) VALUES ('{$sender}', '$message')"; 标记用于启动器活动。更改启动器活动的清单,如下所示: -

<activity-alias>

并且在代码中,您正在显示和隐藏应用程序只需使用Alias Name,它在清单中使用,如上面的清单别名是SplashActivityAlias,因此在显示和隐藏应用程序的两种情况下都使用SplashActivityAlias而不是SplashActivity。         通过上面的操作,您可以隐藏您的应用程序图标  setComponent使用别名的EnabledSetting方法,您可以使用拨号程序启动主要活动即启动活动

  

隐藏应用

        <activity-alias
            android:name="com.watever.SplashActivityAlias"
            android:targetActivity="com.watever.SplashActivity"
            android:icon="@drawable/ic_launcher"
            android:label="@string/app_name" >

            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.MONKEY" />
            </intent-filter>
        </activity-alias>