我遇到了从我开始其他活动的问题。我知道这必须在其他地方完成,因为有太多的启动器应用程序,很多使用包管理器来启动特定的活动......
我可以从包管理器中获取一个Acitivity名称,但是我怎么能以某种方式解析它并将其转换为意图?请记住,我无法访问该课程......此外,我想开始这个特定的活动,而不是从包中启动MAIN意图......
我确定有人必须在某个地方这样做......活动的重点是什么?
答案 0 :(得分:3)
假设您在AndroidManifest.xml中有以下内容
<!-- The askUser dialog activity -->
<activity android:theme="@android:style/Theme.Dialog"
android:name="my.app.AskUserActivity"
android:excludeFromRecents="true"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="my.app.intents.AskUserConfirmConnect"/>
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
然后您可以按名称调用此活动,如下所示:
Intent dlgIntent = null;
dlgIntent = new Intent("my.app.intents.AskUserConfirmConnect");
dlgIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
dlgIntent.addFlags(Intent.FLAG_ACTIVITY_MULTIPLE_TASK);
context.startActivity(dlgIntent);
答案 1 :(得分:1)
您可以在Intent上使用setClassName(String, String)以避免需要其他类。