我可以分享到我的 NativeScript 应用程序吗?

Naj*_*jki 5 android nativescript

是否可以在 NativeScript 的当前状态下创建一个应用程序来侦听 Android 上的共享意图?

例如,我想要实现的是在我的 Android 网络浏览器中打开一个网站,点击共享并在共享目标列表中查看我的 NativeScript 应用程序。

我确实在本机 Android 应用程序上完成了此操作,但无法在 NativeScript 应用程序中使用它。我弄乱了 AndroidManifest.xml 添加

<action android:name="android.intent.action.SEND"></action>
<category android:name="android.intent.category.DEFAULT"></category>
Run Code Online (Sandbox Code Playgroud)

进入意图过滤器,但这没有帮助。我的应用程序未显示在共享目标列表中。

pka*_*nev 2

NativeScript 应该开箱即用地支持这种情况。这是我的app/App_resources/Android默认引导应用程序中的 AndroidManifest 的样子:

<activity
        android:name="com.tns.NativeScriptActivity"
        android:label="@string/title_activity_kimera"
        android:configChanges="keyboardHidden|orientation|screenSize">

        <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="text/plain" />
       </intent-filter>
</activity>
Run Code Online (Sandbox Code Playgroud)

编辑:非常简单的实现将意图发送到我的任何其他应用程序:

FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
        fab.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Intent sendIntent = new Intent(Intent.ACTION_SEND);
                sendIntent.setType("text/plain");
                sendIntent.putExtra("string", "the data Im sending you");

                Intent chooser = Intent.createChooser(sendIntent, "Share with ");

                if (sendIntent.resolveActivity(getPackageManager()) != null) {
                    startActivity(chooser);
                }
            }
        });
Run Code Online (Sandbox Code Playgroud)