是否可以在Android中为应用程序创建两个入口点,我的意思是我可以通过编程方式切换主要活动吗?
答案 0 :(得分:3)
每个导出的活动都是您应用的潜在入口点;外国应用程序可以有意图启动它们中的任何一个。 (一个intent-filter带有一个隐含的android:export。)但是你只能有一个启动器会尊重的入口点。要模拟第二个发射点,要么
提供一个完全独立的应用程序,以启动您的某个导出活动,或
根据某些逻辑(保存的偏好,月相计算,任何事情),将“启动”活动的唯一目的是立即启动一项或另一项活动。
答案 1 :(得分:1)
我认为您正在谈论基于某些事件启动活动决策,然后您需要添加广播接收器,例如,如果您要启动Activity1,请单击启动器上的应用程序图标。然后在此活动Action_MAIN和ACTION_LAUNCHER中添加意图过滤器,如果要在手机启动时启动Activity2,则在此活动中添加过滤器BOOT_COMPLETED。
答案 2 :(得分:1)
检查下面的这个
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_LAUNCHER);
intent.setComponent(new ComponentName(packageName,mainActivity));
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
ctx.startActivity(intent);
答案 3 :(得分:0)
如果您正在谈论从您的应用启动其他应用,那么这可以是代码:
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_LAUNCHER);
intent.setComponent(new ComponentName(packageName,mainActivity));
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
ctx.startActivity(intent);