Hirdetés

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

  • PumpkinSeed

    addikt

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

    A terv most:

    PluginActivity mint Main. Ha nincs URL akkor company://welcome, ha van akkor company://upload-ra intent. A probléma, amit nem értek miért nem működik:

    React oldalon van a Linking package ami elkapja az ilyen beérkező kéréseket és kezeli őket. Amikor meghívom ezt:

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

    akkor működik, de amikor ezt csinálom a PluginActivity-ből, akkor nem (ez csak átküld a MainActivity-be, de az URL-t a Linking nem kapja meg, szóval félig működik):

    Intent intent = new Intent();
    String uriString = "company://welcome";
    intent.setData(Uri.parse(uriString));
    startActivity(intent);

    Az ide tartozó React Native rész:

    componentWillMount() {
    Linking
    .getInitialURL()
    .then(event => this.handleOpenURL(event))
    .catch(console.error);
    Linking.addEventListener('url', this.handleOpenURL);
    this.props.loadCredentials();
    }

    handleOpenURL(event) {
    console.log('Event:');
    console.log(event);
    if (event === null || event.url === undefined || Helpers.isObjectEmpty(event)) {
    this.props.setWelcomeRedirect(true);
    return 0;
    }
    var res = event.url.split("#");
    switch (res[0]) {
    case `${Config.APP_SCHEMA}upload`:
    Actions.Upload();
    break;
    default:
    Actions.Home();
    }
    }

    Az utolsó módosított Manifest.xml:

    <application
    android:name=".MainApplication"
    android:allowBackup="true"
    android:label="@string/app_name"
    android:icon="@mipmap/ic_launcher"
    android:theme="@style/AppTheme">
    <activity
    android:name="com.company.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.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="com.company.PluginActivity">
    <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.SEND" />
    <category android:name="android.intent.category.DEFAULT" />
    <data android:mimeType="application/vnd.sony.scan3d" />   
    </intent-filter>
       
    </activity>
    </application>

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