Hirdetés

Keresés

Új hozzászólás Aktív témák

  • PumpkinSeed

    addikt

    válasz [KgP].Robot #4317 üzenetére

    Hát nem tudom, de ha már itt vagyok akkor kérdezek, ugyanis már totálisan megteltem utálattal az Androiddal szemben.

    Nem vagyok Android programozó Java programozó meg még inkább, csak meg kell csinálnom. Szóval van egy React Native alkalmazás, ebben a MainActivity-t a React automatikusan felhúzza. A manifest a következő:

    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.company"
    android:versionCode="1"
    android:versionName="1.0">

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

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

    <application
    android:name=".MainApplication"
    android:allowBackup="true"
    android:label="@string/app_name"
    android:icon="@mipmap/ic_launcher"
    android:theme="@style/AppTheme">
    <activity
    android:name=".MainActivity"
    android:launchMode="singleTask"
    android:label="@string/app_name"
    android:screenOrientation="portrait"
    android:configChanges="keyboard|keyboardHidden|orientation|screenSize"
    android:windowSoftInputMode="adjustResize">
    <intent-filter>
    <action android:name="android.intent.action.MAIN" />
    <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
    <intent-filter>
    <action android:name="android.intent.action.VIEW" />
    <category android:name="android.intent.category.DEFAULT" />
    <category android:name="android.intent.category.BROWSABLE" />
    <data android:scheme="company"
    android:host="*" />
    </intent-filter>
    </activity>
    <activity android:name="com.facebook.react.devsupport.DevSettingsActivity" />

    <activity android:name=".PluginActivity">
    <intent-filter>
    <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>

    <intent-filter>
    <action android:name="android.intent.action.SEND" />
    <category android:name="android.intent.category.DEFAULT" />
    </intent-filter>
    </activity>
    </application>

    </manifest>

    A cél a PluginActivity-ben átnavigálni egy URL-n keresztül a MainActivity-be ami alapból jobb esetben már fut is.

    Intent intent = new Intent(PluginActivity.this, MainActivity.class);
    long valid = validTo - System.currentTimeMillis();
    String uriString = "company://upload";
    intent.setData(Uri.parse(uriString));
    startActivity(intent);

    A PluginActivity akkor fut le amikor egy másik alkalmazásból meghívják, ehhez van nem megosztott meta-data a manifest-ben. Viszont maga a startActivity nem navigál át a MainActivity-re. Az alkalmazás fut probléma nélkül. Minden megy szépen, egyszerűen mikor a másik alkalmazásban rámegyek a gombra akkor az URL-t ami a "company://upload" nem kapom meg a React részen belül holott, a

    adb shell am start -W -a android.intent.action.VIEW -d "company://$1" com.company/.MainActivity

    szépen megnyitja és elvártan működik.

Új hozzászólás Aktív témák