Android 将数据从一个应用程序传递到另一个应用程序

Android 将数据从一个应用程序传递到另一个应用程序,android,android-intent,Android,Android Intent,我有两个android应用程序: app1 - Activity11 --> Activity12 --> Activity13 app2 - Activity21 --> Activity22 --> Activity23 我想从一个应用程序传递到另一个应用程序的第二个活动,传递一些数据 app1 - Activity11 -->(switch to app2)--> Activity22 --> Activity23 我必须遵循哪些步骤?你知道

我有两个android应用程序:

app1 - Activity11 --> Activity12 --> Activity13

app2 - Activity21 --> Activity22 --> Activity23
我想从一个应用程序传递到另一个应用程序的第二个活动,传递一些数据

app1 - Activity11 -->(switch to app2)--> Activity22 --> Activity23
我必须遵循哪些步骤?你知道一些教程吗

我现在还没有写代码,因为我不知道从哪里开始


提前感谢。

您需要查看android意图和意图过滤器

发送文本的快速示例(其他类型在顶部的链接中)

以及接收:

void onCreate (Bundle savedInstanceState) {
    ...
    // Get intent, action and MIME type
    Intent intent = getIntent();
    String action = intent.getAction();
    String type = intent.getType();

    if (Intent.ACTION_SEND.equals(action) && type != null) {
        if ("text/plain".equals(type)) {
            handleSendText(intent); // Handle text being sent
        } else if (type.startsWith("image/")) {
            handleSendImage(intent); // Handle single image being sent
        }
    } else if (Intent.ACTION_SEND_MULTIPLE.equals(action) && type != null) {
        if (type.startsWith("image/")) {
            handleSendMultipleImages(intent); // Handle multiple images being sent
        }
    } else {
        // Handle other intents, such as being started from the home screen
    }
    ...
}

void handleSendText(Intent intent) {
    String sharedText = intent.getStringExtra(Intent.EXTRA_TEXT);
    if (sharedText != null) {
        // Update UI to reflect text being shared
    }
}

void handleSendImage(Intent intent) {
    Uri imageUri = (Uri) intent.getParcelableExtra(Intent.EXTRA_STREAM);
    if (imageUri != null) {
        // Update UI to reflect image being shared
    }
}

void handleSendMultipleImages(Intent intent) {
    ArrayList<Uri> imageUris = intent.getParcelableArrayListExtra(Intent.EXTRA_STREAM);
    if (imageUris != null) {
        // Update UI to reflect multiple images being shared
    }
}
void onCreate(Bundle savedInstanceState){
...
//获取意图、动作和MIME类型
Intent=getIntent();
String action=intent.getAction();
字符串类型=intent.getType();
if(Intent.ACTION_SEND.equals(ACTION)&&type!=null){
如果(“文本/普通”。等于(类型)){
handleSendText(意图);//处理发送的文本
}else if(键入.startsWith(“image/”){
handleSendImage(intent);//处理正在发送的单个映像
}
}else if(Intent.ACTION\u SEND\u MULTIPLE.equals(ACTION)&&type!=null){
if(键入.startsWith(“image/”){
handleSendMultipleImages(intent);//处理正在发送的多个图像
}
}否则{
//处理其他意图,例如从主屏幕启动
}
...
}
无效handleSendText(意图){
String sharedText=intent.getStringExtra(intent.EXTRA_TEXT);
如果(sharedText!=null){
//更新UI以反映正在共享的文本
}
}
无效handleSendImage(意图){
Uri imageUri=(Uri)intent.getParcelableExtra(intent.EXTRA_流);
if(imageUri!=null){
//更新UI以反映正在共享的图像
}
}
无效handleSendMultipleImages(意图){
ArrayList imageUris=intent.getParcelableArrayListExtra(intent.EXTRA\u流);
if(ImageURI!=null){
//更新UI以反映共享的多个图像
}
}
您还必须更新清单:

<activity android:name=".ui.MyActivity" >
    <intent-filter>
        <action android:name="android.intent.action.SEND" />
        <category android:name="android.intent.category.DEFAULT" />
        <data android:mimeType="image/*" />
    </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>
    <intent-filter>
        <action android:name="android.intent.action.SEND_MULTIPLE" />
        <category android:name="android.intent.category.DEFAULT" />
        <data android:mimeType="image/*" />
    </intent-filter>
</activity>


也许有人也能帮你。谢谢。我错过了这些!第一个似乎很有用。谢谢。这似乎是一个很好的起点。
<activity android:name=".ui.MyActivity" >
    <intent-filter>
        <action android:name="android.intent.action.SEND" />
        <category android:name="android.intent.category.DEFAULT" />
        <data android:mimeType="image/*" />
    </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>
    <intent-filter>
        <action android:name="android.intent.action.SEND_MULTIPLE" />
        <category android:name="android.intent.category.DEFAULT" />
        <data android:mimeType="image/*" />
    </intent-filter>
</activity>