在我的反應本機應用程序中,我想與特定應用程序共享文本消息,例如WhatsApp或短信應用程序,而不必先與所有社交應用程序對話。在單個應用程序中反應本地共享
例如,如果我按下share按鈕並直接調用whatsapp。
我試過使用react-native-share
但它似乎不工作了。
在我的反應本機應用程序中,我想與特定應用程序共享文本消息,例如WhatsApp或短信應用程序,而不必先與所有社交應用程序對話。在單個應用程序中反應本地共享
例如,如果我按下share按鈕並直接調用whatsapp。
我試過使用react-native-share
但它似乎不工作了。
對於Android,該陣營機共享模塊使用默認ACTION_SEND Android的意圖:
Intent sharingIntent = new Intent(android.content.Intent.ACTION_SEND);
爲了有不同的行爲,你需要或者寫自己的RN插件,會跟你想要的應用程序它(如果這種功能可用)或在npm上找到類似的插件。
我假設你的插件應該做這樣的事情:
Intent sendIntent = new Intent();
sendIntent.setAction(Intent.ACTION_SEND);
sendIntent.putExtra(Intent.EXTRA_TEXT, "This is my text to send.");
sendIntent.setType("text/plain");
startActivity(sendIntent);
sendIntent.setPackage("com.whatsapp");
您可以使用Linking,它給你的通用接口與傳入和傳出的應用程序進行交互鏈接。
例如:
import React, { Component } from 'react';
import { Linking, Button } from 'react-native';
export class App extends Component {
render() {
return <Button
onPress={() => {
let url = 'whatsapp://send?text=Hola Mundo';
Linking.openURL(url).then((data) => {
console.log('open whatsapp')
}).catch(() => {
console.log('App not installed')
});
}}
title="Whatsapp"
color="#4FBE3C"/>;
}
}
感謝@Yury。我搜索的NPM插件沒有avail.Let我實現這個並提出反饋意見 – charles