尝试启动库项目 Activity

2024-03-16

我有一个库项目和主项目,我尝试从主项目启动库项目中定义的活动。

Intent intent = new Intent("isr.LAUNCH");
intent.setComponent(new ComponentName("com.ISR", "com.ISR.activity.CameraActivity"));
startActivity(intent);

但我收到以下异常:

05-14 17:13:42.853: E/AndroidRuntime(29217): java.lang.SecurityException: Permission Denial: starting Intent { act=isr.LAUNCH cmp=com.ISR/.activity.CameraActivity } from ProcessRecord{40aa7178 29217:com.ssbs.sw.SWE/10094} (pid=29217, uid=10094) requires null
05-14 17:13:42.853: E/AndroidRuntime(29217):    at android.os.Parcel.readException(Parcel.java:1322)
05-14 17:13:42.853: E/AndroidRuntime(29217):    at android.os.Parcel.readException(Parcel.java:1276)
05-14 17:13:42.853: E/AndroidRuntime(29217):    at android.app.ActivityManagerProxy.startActivity(ActivityManagerNative.java:1351)
05-14 17:13:42.853: E/AndroidRuntime(29217):    at android.app.Instrumentation.execStartActivity(Instrumentation.java:1374)
05-14 17:13:42.853: E/AndroidRuntime(29217):    at android.app.Activity.startActivityForResult(Activity.java:2827)
05-14 17:13:42.853: E/AndroidRuntime(29217):    at android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:817)
05-14 17:13:42.853: E/AndroidRuntime(29217):    at android.app.Activity.startActivity(Activity.java:2933)
05-14 17:13:42.853: E/AndroidRuntime(29217):    at com.ssbs.sw.IR.view.MainActivity$1$1.onMenuItemClick(MainActivity.java:58)
05-14 17:13:42.853: E/AndroidRuntime(29217):    at com.ssbs.sw.SWE.actionbarV5.menu.MenuButtonHelper$1.onClick(MenuButtonHelper.java:108)
05-14 17:13:42.853: E/AndroidRuntime(29217):    at android.view.View.performClick(View.java:2492)
05-14 17:13:42.853: E/AndroidRuntime(29217):    at android.view.View$PerformClick.run(View.java:9087)
05-14 17:13:42.853: E/AndroidRuntime(29217):    at android.os.Handler.handleCallback(Handler.java:587)
05-14 17:13:42.853: E/AndroidRuntime(29217):    at android.os.Handler.dispatchMessage(Handler.java:92)
05-14 17:13:42.853: E/AndroidRuntime(29217):    at android.os.Looper.loop(Looper.java:130)
05-14 17:13:42.853: E/AndroidRuntime(29217):    at android.app.ActivityThread.main(ActivityThread.java:3740)
05-14 17:13:42.853: E/AndroidRuntime(29217):    at java.lang.reflect.Method.invokeNative(Native Method)
05-14 17:13:42.853: E/AndroidRuntime(29217):    at java.lang.reflect.Method.invoke(Method.java:507)
05-14 17:13:42.853: E/AndroidRuntime(29217):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:880)
05-14 17:13:42.853: E/AndroidRuntime(29217):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:638)
05-14 17:13:42.853: E/AndroidRuntime(29217):    at dalvik.system.NativeStart.main(Native Method)

这是我的图书馆项目清单:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.CAMERA" />

    <uses-feature android:name="android.hardware.camera" />
    <uses-feature android:name="android.hardware.camera.autofocus" />

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="16" />

    <application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name" >

        <activity android:name=".activity.CameraActivity" android:exported="true" >
            <intent-filter>
                <action android:name="isr.LAUNCH" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>
    </application>

我怎样才能解决这个问题?

EDIT
我的主要项目清单权限:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.GET_TASKS" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />

<uses-sdk
    android:minSdkVersion="8"
    android:targetSdkVersion="15" />

EDIT 2
我已经通过处理被调用活动的主应用程序清单定义解决了我的问题(但我想知道是否可以在不添加此定义的情况下执行此操作):

<activity android:name="com.ISR.activity.CameraActivity">
            <intent-filter>
                <action android:name="isr.LAUNCH" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>

现在我可以使用以下代码开始我的活动:

Intent intent = new Intent("isr.LAUNCH");
startActivity(intent);

实际上,您可以在库的清单中声明您想要的所有内容,然后在主项目中声明

manifestmerger.enabled=true

在你的project.properties中。它所做的实际上是合并您的清单,您可以在 bin 文件夹中看到生成的清单。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

尝试启动库项目 Activity 的相关文章

随机推荐

  • Django Channels 错误:您不能在与异步事件循环相同的线程中使用 AsyncToSync

    我试图复制 Django Channels Documentation 中的教程 但我有错误 它说 您不能在与异步事件循环相同的线程中使用 AsyncToSync 只需直接等待异步函数 信息 WebSocket 握手 ws notifica
  • 与从 Cloud Console 创建的项目相比,从 App Engine 控制台创建的项目的功能较少

    当我从 App Engine 控制台创建新应用程序时https appengine google com https appengine google com 该应用程序也会出现在 Cloud Console 上https cloud go
  • 通过套接字获取线路

    是否有一个 libc 函数可以执行与 getline 相同的操作 但可以使用连接的套接字而不是 FILE 流 解决方法是在套接字上调用 fdopen 这样做的时候需要注意哪些事项 这样做 不这样做的理由是什么 这样做的一个明显原因是调用 g
  • 判断表单输入是否有焦点

    我正在 AngularJS 中进行验证 如果有 3 种类型的错误 我会显示一个 div 对于必需的 我只想在页面以空值提交时才显示错误消息 div class error div 对于正则表达式验证 我希望它标记实时的默认行为 div cl
  • jquery onclick 添加左边距

    我正在尝试用 JS 做一些非常简单的事情 但我无法让它工作 我想当点击div添加一个负数margin left到另一个div 但我希望每次点击时都会发生div 而不是像现在这样一次 每次我点击我的 next nav 我想要 nav移动自 1
  • 使用 Devise 注销所有用户

    我在 ruby on rails 应用程序中使用 devise 我有一个使用设备的 User 类和 AdminUser 类 在我的管理面板中 我想注销所有用户 但不注销管理员用户 执行此操作的最佳方法是使用范围级别的注销方法 因此 如果您想
  • TransactionAttribute 注释 (@REQUIRES_NEW) 被忽略

    我遇到了两个单独的事务的问题 这些事务以与实际执行的顺序相反的顺序刷新到数据库 这是业务案例 存在 RemoteJob RemoteJobEvent 一对多关系 每次创建新事件时 都会获取一个时间戳 并将其设置在RemoteJob和Remo
  • 编译器如何知道在哪里可以找到#include

    我想知道 Mac OS X Windows 和 Linux 上的编译器如何知道在哪里可以找到 C 头文件 具体来说 我想知道它如何知道在哪里可以找到带有 lt gt 括号 include Users Brock Desktop Myfile
  • 嵌入式Linux中UART上的9位协议

    我正在尝试在嵌入式 Linux 中的 UART 上强制使用 9 位协议 目前我正在 am335x evm 板上对此进行测试 我计划使用坚持平价来做到这一点 理想情况下 我希望不需要实际修改 omap serial c 驱动程序的任何代码 9
  • 如何将用户从控制台的输入读取为 Unicode 字符串?

    一个C 初学者的问题 这是我目前拥有的 From tchar h define T x T x From tchar h define T x L x In MySampleCode h ifdef UNICODE define tcout
  • AUGraph 弃用是否意味着不再有音频渲染回调?

    我有一个带有详细渲染回调的应用程序 我怀疑是否可以使用 AVAudioEngine 来实现 无论如何 要将我的 AUGraph 渲染回调 具有多个总线 与 AVAudioEngine 一起使用吗 有示例代码吗 The 音频单元API htt
  • Dart 是否有 socket.io 端口?

    我使用这个简单的示例了解了 Dart 中的基本 websocket 功能 https github com financeCoding chat websocket dart https github com financeCoding c
  • 在Java程序中执行PowerShell命令

    我有一个PowerShell Command我需要使用它来执行Java程序 有人可以指导我如何做到这一点吗 我的命令是Get ItemProperty HKLM Software Wow6432Node Microsoft Windows
  • 以编程方式打开/关闭 WiFi 热点

    我需要帮助创建一个在热点模式下设置 Android WiFi 的 C 脚本 这是我设法创建的代码 public bool setAPEnabled bool enabled using AndroidJavaObject activity
  • Play框架和Slick自动数据库创建

    我正在使用 play 2 4 和 Slick 3 是否可以自动生成 ddl 脚本 它是进化吗 在官方文档中我找到了一些脚本 但是我应该将其放在播放框架中的哪里 http slick typesafe com doc 3 1 0 schema
  • alQuran 阿拉伯语语音识别

    我们如何根据以下内容比较两个音频文件或录音机文件Al Quran Al Quran相比之下有特殊的发音Arabic发音 是否可以做用户声音和方式的比较Al Quran发音是 我已经尝试过Google Speech to Text for A
  • Spring Boot如何在jsp页面导入react组件

    我正在创建 Spring boot 应用程序 我希望我的前端使用 React 问题来自于我无法找到一种方法来正确地将 React 组件集成到我的 jsp 页面中 这是组件的声明 ReactDOM render
  • 从 android vlc 媒体播放器获取当前帧

    我在用着VLC Android https code videolan org videolan vlc android为了在我的 Android 应用程序中播放 H264 RTSP 直播流 以下代码成功地将流视频渲染到表面视图上 Medi
  • 尝试将非空字符串设置为“System.Int32”类型

    实体框架抛出此异常 BranchIdentity 的 PasswordIterations 属性无法设置为 System String 值 您必须将此属性设置为 System Int32 类型的非空值 它抛出在这条线上 Validate u
  • 尝试启动库项目 Activity

    我有一个库项目和主项目 我尝试从主项目启动库项目中定义的活动 Intent intent new Intent isr LAUNCH intent setComponent new ComponentName com ISR com ISR