2013-12-02 2 views
1

Я пытаюсь разработать собственное приложение Android для Android, используя силу продаж SDK (принудительный).GitHub SalesForce UI не работает

enter image description here

Здесь "SalesforceSDK" находится в рабочем пространстве и так же, как мой Android App находится в рабочем пространстве "sfaAndroid". Когда я запускаю свое приложение, sfaAndroid показывает другой пользовательский интерфейс. Почему ниже пользовательский интерфейс отображается в моем эмуляторе i
не получил?

enter image description here

Мой манифест sfaAndroid как ниже

<?xml version="1.0" encoding="utf-8"?> 
    <manifest xmlns:android="http://schemas.android.com/apk/res/android" 
package="com.dmt.sfa" 
android:versionCode="1" 
android:versionName="1.0" 
android:installLocation="internalOnly"> 

<application android:icon="@drawable/company_logo_1" 
    android:label="@string/app_name" 
    android:name=".sfaAndroidApp" 
      android:manageSpaceActivity="com.salesforce.androidsdk.ui.ManageSpaceActivity"> 

    <!-- Launcher screen --> 
    <activity android:name=".MainActivity" 
     android:label="@string/app_name" 
     android:theme="@android:style/Theme.NoTitleBar.Fullscreen"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 
      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
</application> 

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

<!-- 
    GCM permission to ensure that only this application can 
    receive the messages and registration result. This must be of 
    the format <app-package-name>.C2D_MESSAGE for it to work. 
--> 
<permission android:name="com.dmt.sfa.C2D_MESSAGE" 
    android:protectionLevel="signature" /> 

<uses-permission android:name="com.dmt.sfa.C2D_MESSAGE" /> 
    </manifest> 

Как вы можете видеть, что мой класс запуска является MainActivity, и я собираюсь показать пользовательский интерфейс MainActivity.java

 setContentView(R.layout.main); 

main.xml следующим образом:

<?xml version="1.0" encoding="utf-8"?> 
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:orientation="vertical" android:layout_width="fill_parent" 
android:layout_height="fill_parent" android:background="#454545" 
android:id="@+id/root"> 

<include layout="@layout/header" /> 

<LinearLayout android:orientation="horizontal" android:layout_width="fill_parent" 
    android:layout_height="wrap_content"> 
    <Button android:id="@+id/fetch_contacts" android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:onClick="onFetchContactsClick" 
      android:text="@string/fetch_contacts_button" /> 

    <Button android:id="@+id/fetch_accounts" android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:onClick="onFetchAccountsClick" 
      android:text="@string/fetch_accounts_button" />  

    <Button android:id="@+id/clear" android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:onClick="onClearClick" 
      android:text="@string/clear_button" /> 
    </LinearLayout> 

    <ListView android:id="@+id/contacts_list" android:layout_width="fill_parent" 
      android:layout_height="fill_parent" /> 
     </LinearLayout> 

Так что чуть выше Layout не работает или не отображается в моем эмуляторе. Я не понял, что здесь происходит? Если кто-нибудь подскажет, помогите мне. Спасибо заранее всем.

+0

Я сталкиваюсь с проблемой, а интеграция с запуском salesforce вы можете разоблачить свой код запуска MainActivity.java класса, чтобы я мог очистить себя. –

ответ

2

Это потому, что перед показом конкретного приложения соответствующей страницы, вам необходимо войти в SalesForce, так что вы можете получить регистрационные данные, которые в дальнейшем используются, чтобы сделать такие операции, как извлечение файлов из счета онлайн, создание контактов и т.д.

После успешного входа в систему вы будете перенаправлены на страницу по умолчанию в своем приложении.

Edit:

SalesforceSDKManager.initNative(getApplicationContext(), 
      new KeyImpl(), ActivityToGoAfterLogin.class); 

Как вы можете видеть в коде выше, необходимо отметить активность в initNative методе. После успешного входа в систему пользователь будет перенаправлен на указанную деятельность вашего приложения.

+0

Есть ли способ изменить дизайн входа. Я хочу изменить наш пользовательский интерфейс, показывая «Другой текст» вместо «Salesforce». – DJhon

+0

Я не думаю, что SalesforceSDK является библиотекой, и пользователь переходит к LoginActivity, присутствующему в этой библиотеке, в которой страница входа в систему отображается в веб-просмотре. – Braj

Смежные вопросы