DEV Community

putu eka mulyana
putu eka mulyana

Posted on

Custom queries AndroidManifest Pada Expo

Pendahuluan

Kenapa saya ingin membuat custom queries pada android AndroidManifest? saat membuat fitur share ke instagram stories saya mengalami kendala saat user klik share yang terbuka bukan instagram stories tapi aplikasi lain.

setelah melempar pertanyaan ke forum. ada yang menyarankan menambahkan custom queries seperti pada AndroidManifest.xml.

  <queries>
      <!-- Specific apps you share to -->
      <package android:name="com.instagram.android" />
      <intent>
        <action android:name="android.intent.action.SEND"/>
      </intent>
    </queries>
Enter fullscreen mode Exit fullscreen mode

masalahnya saat build menggunakan server expo code di atas tidak ikut dibuild karena file android yang ada di local computer tidak ikut di submit ke dalam server expo.

Solusi

Solusi yang saya temukan adalah dengan menambahakan code expo config plugins agar saat di build di server expo queries ikut tergenerate.

const { withAndroidManifest } = require('@expo/config-plugins');

const withAndroidQueries = config => {
  return withAndroidManifest(config, config => {
    config.modResults.manifest.queries = [
      {
        package: [
          {
            $: { 'android:name': 'com.instagram.android' },
          },
        ],
        intent: [
          {
            action: [{ $: { 'android:name': 'android.intent.action.SEND' } }],
          },
        ],
      },
    ];

    return config;
  });
};

module.exports = withAndroidQueries;
Enter fullscreen mode Exit fullscreen mode

jika ingin mengecek apakah file queries tergenerate di dalam AndroidManifest.xml coba run :

npx expo prebuild
Enter fullscreen mode Exit fullscreen mode

lalu cek di dalam file AndroidManifest.xml apakah sudah ada code seperti dibawah :

  <queries>
      <!-- Specific apps you share to -->
      <package android:name="com.instagram.android" />
      <intent>
        <action android:name="android.intent.action.SEND"/>
      </intent>
    </queries>
Enter fullscreen mode Exit fullscreen mode

Penutup

Jika kamu memiliki saran atau cara yang lain feel free to comment

Top comments (0)