2016-12-28 86 views
1

PreferenceScreen开始活动的正确方法是什么?从偏好活动发起活动

这是我的代码不工作。

<?xml version="1.0" encoding="utf-8"?> <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"> <Preference android:title="Change password"> <intent android:targetClass="org.kekem.activity.MyActivity" android:targetPackage="org.kekem.activity"/> </Preference> </PreferenceScreen>

活动也是我的清单文件中声明如下:

<activity 
     android:name=".activity.MyActivity" 
     android:label="Change password" 
     android:parentActivityName=".activity.MainActivity" 
     android:screenOrientation="portrait"> 
    </activity> 

此错误是抛出:

android.content.ActivityNotFoundException: Unable to find explicit activity 
class org.kekem.activity/org.kekem.activity.MyActivity have you declared 
this activity in your AndroidManifest.xml? 

回答

1

<intent>标签的targetPackage属性应该程序包ID(也称为应用程序ID),而不是其中的Java包的名称您的活动驻留。

因此您<intent>或许应该是这样的,假设你的应用程序ID为org.kekem

<intent 
    android:targetClass="org.kekem.activity.MyActivity" 
    android:targetPackage="org.kekem"/> 
+0

大答案@ Tanis.7x。发布后我的应用程序的src包已经更改,但applicationID保持不变。在阅读您的文章后,我实际上检查了gradle文件,并且applicationID与src包不同。现在它正在发挥魅力。我现在可以继续前进。十分感谢。 – DeKekem