gpt4 book ai didi

android - Activity 机器人 :exported ="true" is not exported

转载 作者:行者123 更新时间:2023-12-05 06:45:09 32 4
gpt4 key购买 nike

在我的应用程序的首选项中,我调用以特殊方式处理某些参数的 Activity 。到目前为止它运作良好。但是,为了创建试用版和专业版,我刚刚创建了一个包含所有代码的库和一个调用该库的新演示应用程序。除了由文件 preferences.xml 中的声明启动的调用外,大多数应用程序都可以正常工作。所有的语句都在demo版的activityManifest文件中进行。我将语句“android:exported ="true"添加到由首选项调用的 ClassesManager Activity 中,但尽管进行了多次尝试(通过添加带有各种语句的 intent-filter),我总是会收到崩溃消息:

FATAL EXCEPTION: main
Process: be.adsoft.etimemo.demo, PID: 31250
java.lang.SecurityException: Permission Denial: starting Intent { act=android.intent.action.VIEW cmp=be.adsoft.etimemo.base/.ClassesManager } from ProcessRecord{42fe8718 31250:be.adsoft.etimemo.demo/u0a182} (pid=31250, uid=10182) not exported from uid 10181
at android.os.Parcel.readException(Parcel.java:1465)
at android.os.Parcel.readException(Parcel.java:1419)

演示应用 list 的摘录:

<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/EtiHoloLight" >

<!-- activity par défaut -->
<activity
android:name="be.adsoft.etimemo.base.ConnectScreen"
android:configChanges="locale"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>

<!-- Déclaration de l'activité Préférences -->
<activity
android:name="be.adsoft.etimemo.base.Preferences"
android:label="@string/titre_preferences">
</activity>

...

<!-- Déclaration de l'activité ClasseManager -->
<activity
android:name="be.adsoft.etimemo.base.ClassesManager"
android:label="@string/txt_clmanager_titre_page"
android:exported="true">
</activity>

</application>

preferences.xml 文件的摘录:

<PreferenceScreen 
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:robobunny="http://robobunny.com" >

<PreferenceCategory
android:title="@string/groupe_classe_title"
android:key="groupe_classe">

<Preference
android:title="@string/grkeyList_title"
android:summary="@string/grkeyList_summary">
<intent
android:action="android.intent.action.VIEW"
android:targetPackage="be.adsoft.etimemo.base"
android:targetClass="be.adsoft.etimemo.base.ClassesManager"
/>
</Preference>

</PreferenceCategory>

谁能告诉我是什么阻止了此 Activity 的正确导出?注意:我已经完成了几次“清理”和“重建”以消除 Eclipse 中的任何担忧。

最佳答案

我自己找到了解决方案,分享给其他人以节省时间:在首选项中的 Intent 声明中,您应该将应用程序 (.demo) 的名称作为“包”,并将库中的 Activity (.base) 作为 Activity 名称:

    <Preference
android:title="@string/grkeyList_title"
android:summary="@string/grkeyList_summary">
<intent
android:action="android.intent.action.VIEW"
android:targetPackage="be.adsoft.etimemo.demo"
android:targetClass="be.adsoft.etimemo.base.ClassesManager"
/>
</Preference>

关于android - Activity 机器人 :exported ="true" is not exported,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25465580/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com