启动完成后我想加载我自己的活动作为第一个屏幕,而不是移动主屏幕。两者之间发生了延迟,所以如何解决这个问题...提前感谢.....
答案 0 :(得分:5)
检查一下: OtaStartupReceiver
此类是Android源中的Phone apk源代码,请检查方法private boolean shouldPostpone(Context context)
在提供电话初始化向导的设备上(例如Google 设置向导),我们允许延迟CDMA OTA设置,以便可以在一个 单向导。该向导负责
(1)一旦运行和/或
就自行禁用(2)将'device_provisioned'标志设置为非零和
(3)通过以下操作调用OTA安装程序。 NB:典型的手机 初始化向导将自己安装为主屏幕 (类别“android.intent.category.HOME”)优先级高于 默认。该向导应该设置'device_provisioned' 完成,禁用自己 PackageManager.setComponentEnabledSetting()然后开始回家 屏幕。
如上所示:
您可以在AndroidManifest.xml中创建活动
<activity
android:name=".Demo"
android:label="@string/app_name"
android:screenOrientation="portrait" >
<!--android:priority added-->
<!--category.HOME and DEVICE_INITIALIZATION_WIZARD must have-->
<intent-filter android:priority="1000">
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.HOME"/>
<action android:name="android.intent.action.DEVICE_INITIALIZATION_WIZARD"/>
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
答案 1 :(得分:1)
在开始之前,我认为启用USB调试是个好主意,所以如果发生任何事情,你可以使用ADB修复它。
我在一个项目中工作,客户希望应用程序显示而不显示Android默认主页。
为此,我建议你谨慎行事。 我使用的系统:rooted Android 4.0.3
在清单中将此内容添加到您的活动中:
<activity android:name=".MainActivity" 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.HOME"/> <!-- this will make your app work like a launcher -->
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
为此,您可能需要查看Settings / Applications / All
找到“启动器”,单击它,然后单击按钮Clear Defaults
。
之后,点击“HOME”按钮,Android将询问您要启动哪个应用程序,如果您选择了应用程序,并选中“make default”框,它将始终作为您的主屏幕,因此,使你的应用程序成为发射器。因此,当您重新启动设备时,它将始终显示您的应用。
小心!如果您这样做,可能会失去对主屏幕的访问权限,并且不会再次选择访问您的设置。所以你需要通过ADB访问它,或者像我一样创建和“逃避”。
在我的应用程序内部,在管理区域中,我添加了一个调用以下内容的按钮:
public void custom_launcher(View v){
startActivity(new Intent(Intent.ACTION_MAIN).addCategory(Intent.CATEGORY_LAUNCHER));
}
这将调用Android菜单,您可以在其中再次转到“设置”菜单。如果您想再次使用Android默认启动器,请在设置菜单中执行与启动器相同的操作。
为此,请转到Settings / Applications / <app-name>
,然后点击“清除默认值”。当您再次按下主页时,Android会询问您要使用哪个启动器,Android启动器或您的应用。