Dav*_* T. 5 android android-manifest android-activity
我正在开发一个第三方库,它将被集成到其他人的APK中.我在我的库中添加了一个新的Activity; 但是,我想看看集成我的库的人是否在他们的AndroidManifest.xml中声明了我的新Activity(可能他们偶然忘记了).
我的印象是在RunTime期间无法读取或编辑AndroidManifest.
另请注意,我无法保证在我的代码中获得Activity的实例.只有全局应用程序上下文.
我不做什么是尝试startActivity并捕获ActivityNotFoundException.即:像:
Context ctx = someView.getContext(); // <--- this is a global application context, not necessarily an instance of Activity
Intent intent = new Intent(ctx, UnsureActivity.class);
try {
ctx.startActivity(intent);
} catch (ActivityNotFoundException anfe) {
System.out.println("UnsureActivity wasn't declared in manifest");
}
Run Code Online (Sandbox Code Playgroud)
因为如果活动是在Manifest中声明的,那么上面的代码实际上会运行(这会抢夺开发人员的活动).
注意:我需要在运行时知道,因为我必须在实际尝试运行活动之前提前提醒服务器.
有人有想法吗?
| 归档时间: |
|
| 查看次数: |
1053 次 |
| 最近记录: |