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