我创建了一个库。它将附加到不同的项目。我需要在我的库类中引用当前应用程序的主要活动(该应用程序托管我的库)。可以在getPackageManager()
?
答案 0 :(得分:1)
Android中没有“主要活动类”的概念。您很可能是指AndroidManifest文件中沿着启动器使用的intent-filter
引用的Activity。它可以是其中之一。它可以是没有。在单个应用程序中可以有很多。使用PackageManager
获取
修改强>
'android os'如何知道我的活动首先可见 启动任何申请
您在清单文件中设置它。任何活动:
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
可以是您的切入点。通常它只是每个应用程序一个,但你可以拥有任意多个。
答案 1 :(得分:0)
您需要确保将您的库项目设置为库:
转到项目属性 - &gt; Android并确保选中“Is Library”。
现在,您需要在其他项目中引用您的库项目:
转到项目属性 - &gt; Java构建路径 - &gt;项目。点击“添加”,然后选择您的图书馆。
您可能需要清理项目,尤其是在对库项目进行更改后。
答案 2 :(得分:0)
答案 3 :(得分:0)
如果您真的想要“库”来调用项目的组件(任何人,无论是否使用您的库),您必须为组件定义“intent-filter”。以下是活动的常用方法:
<activity
android:name="com.gmail.app.activities.SplashActivity"
android:label="@string/app_name"
android:screenOrientation="portrait"
android:theme="@style/NoActionBar" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter>
<action android:name="com.gmail.app.SplashActivity" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
在您的代码(库)中,您可以这样做:
Intent i = new Intent("com.gmail.app.SplashActivity");
startActivity(i);