android - 从首选项 Activity 启动 Activity 导致权限拒绝异常

标签 android android-activity preference

我这里有点问题。我想要做的是从 PreferenceActivity 中启动一个 Activity 。所以我的 preference.xml 包含首选项布局,如下所示:

<Preference android:title="Launch Activity" >
   <intent android:action="org.momo.SOME_ACTIVITY" />
</Preference>

list 知道我要启动的 Activity ..

<activity android:label="@string/app_name" android:name="SomeActivity">
        <intent-filter>
            <category android:name="android.intent.category.DEFAULT" />

            <action android:name="org.momo.SOME_ACTIVITY" />
        </intent-filter>
    </activity>

猜猜是什么,当我想要启动它时遇到安全异常(权限被拒绝)。我错过了什么吗?我对 Intent 的理解仍然有点不完整,但我认为它必须以这种方式工作。

感谢您的帮助!

最佳答案

制作一个 intent-filter 似乎有点迂回。这是一种更简单的方法:

<PreferenceScreen
    android:title="@string/settings.title" 
    android:summary="@string/settings.summary">
    <intent
        android:targetPackage="com.companyname.appname"
        android:targetClass="com.companyname.appname.classname"/>
</PreferenceScreen>

关于android - 从首选项 Activity 启动 Activity 导致权限拒绝异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2077436/

相关文章:

android - 当 Activity 通过 "Don' 被终止时不会触发 ActivityLifecycleCallbacks t keep Activity ”

android - 多个 Activity ,在另一个 Activity 中显示图像

android - 自定义 PreferenceScreen 的布局

android - 使用 FFMPEG 为 Android 转换视频

android - 无法解析符号 "FirebaseMessagingService"

java - 动态添加彼此相邻的按钮-RelativeLayout

java - 什么都没有输入时,如何在edittext中将默认值设置为0?

android - 如何让一个新启动的 Activity 在 Android TalkBack 中宣布自己?

Android:如何在Preference中调整Margin/Padding?

android - 如何在自定义 ArrayList 中保存 FCM 通知?