步骤1> Intent i = new Intent(home.this,secondactivity.class);
步骤2> Intent i = new Intent(“android.intent.action.secondactivity”);
我有点困惑的是,它在创建一个类似的意图时会有什么不同 第1步或第2步
在第一个中,我指定了类的当前实例,活动应该通过主页活动中的按钮单击进入下一个活动e.x,然后它将转到第二个活动。 在第二个我没有这样做。
是否有任何区别或两者都相同?
答案 0 :(得分:3)
他们是不同的:
在第一个变体中,您明确说明要执行哪个组件/活动,因此可以保证您将执行该组件。在这种情况下,您的第二个活动甚至不需要指定intent-filter。
在第二个变体中,您指定一个ACTION名称。为此,您的第二个活动必须具有具有相同操作的intent过滤器。但请注意,如果有任何其他应用程序的活动具有具有相同操作名称的intent过滤器,则在启动活动时,用户将获得一个活动选择器对话框以选择要使用的活动。
如果您总是希望在按钮单击时执行第二个活动,则应使用第一个变体。
如果要创建API,则应使用第二种变体,即您希望其他应用程序能够挂钩到您的应用程序工作流程中。
答案 1 :(得分:0)
当您从外面的某个地方调用SecondActivity时,可以使用step2。让我们说从广播接收者或服务。
答案 2 :(得分:0)
你的第二个意图是错误的,“android.intent.action.secondactivity
”不是一个动作。