Android BroadcastReceiver用于通过操作\u发送处理文件?
在Android中是否可以创建BroadcastReceiver来处理其他应用程序共享的文件 我在清单中写道:Android BroadcastReceiver用于通过操作\u发送处理文件?,android,android-intent,android-activity,broadcastreceiver,Android,Android Intent,Android Activity,Broadcastreceiver,在Android中是否可以创建BroadcastReceiver来处理其他应用程序共享的文件 我在清单中写道: <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <receiver android:name=".
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<receiver android:name=".modules.file.FileReceiver" >
<intent-filter>
<category android:name="android.intent.category.DEFAULT" />
<action android:name="android.intent.action.SEND" />
<action android:name="android.intent.action.SEND_MULTIPLE" />
<data android:mimeType="application/pdf" />
</intent-filter>
</receiver>
}
但我无法将文件从文件管理器发送到我的应用程序,因为我的应用程序不在可处理文件的应用程序列表中。。。
是否真的可以只在活动中处理文件???
有什么建议吗?您几乎答对了,但是为了从其他应用程序接收文件,您需要创建
活动
(而不是
类似于代码中的)来处理这些文件。还需要更改如下语法:
<activity android:name=".MyActivity" >
<intent-filter>
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="pdf/*" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.SEND_MULTIPLE" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="pdf/*" />
</intent-filter>
</activity>
您几乎答对了,但是为了从其他应用程序接收文件,您需要创建处理此文件的活动
(而不是
类似于代码中的)。
还需要更改如下语法:
<activity android:name=".MyActivity" >
<intent-filter>
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="pdf/*" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.SEND_MULTIPLE" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="pdf/*" />
</intent-filter>
</activity>
这将有助于在您的应用程序中获取数据,在我的代码中,我将从其他应用程序接收图像
<intent-filter>
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="image/*" />
</intent-filter>
Intent intent1 = getIntent();
String action = intent1.getAction();
String type = intent1.getType();
if (Intent.ACTION_SEND.equals(action) && type != null) {
this.handleSend(intent1);
}
void handleSend(Intent intent) {
try {
Uri imageUri = (Uri) intent.getParcelableExtra(Intent.EXTRA_STREAM);
imageShare.setImageURI(imageUri);
} catch (Exception e) {
e.printStackTrace();
}
}
Intent intent1=getIntent();
String action=intent1.getAction();
字符串类型=intent1.getType();
if(Intent.ACTION_SEND.equals(ACTION)&&type!=null){
本手册第1部分:;
}
无效手柄端(意图){
试一试{
Uri imageUri=(Uri)intent.getParcelableExtra(intent.EXTRA_流);
setImageURI(imageUri);
}捕获(例外e){
e、 printStackTrace();
}
}
这将有助于在您的应用程序中获取数据,在我的代码中,我将从其他应用程序接收图像
<intent-filter>
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="image/*" />
</intent-filter>
Intent intent1 = getIntent();
String action = intent1.getAction();
String type = intent1.getType();
if (Intent.ACTION_SEND.equals(action) && type != null) {
this.handleSend(intent1);
}
void handleSend(Intent intent) {
try {
Uri imageUri = (Uri) intent.getParcelableExtra(Intent.EXTRA_STREAM);
imageShare.setImageURI(imageUri);
} catch (Exception e) {
e.printStackTrace();
}
}
Intent intent1=getIntent();
String action=intent1.getAction();
字符串类型=intent1.getType();
if(Intent.ACTION_SEND.equals(ACTION)&&type!=null){
本手册第1部分:;
}
无效手柄端(意图){
试一试{
Uri imageUri=(Uri)intent.getParcelableExtra(intent.EXTRA_流);
setImageURI(imageUri);
}捕获(例外e){
e、 printStackTrace();
}
}
是的,我刚刚通过运行IntentService进行文件解析和复制的activity创建了它,并且只将intent中的真实文件路径发送到目标activity。p、 s.:send and send_多个类别可以保留在一个intent filter标记中)是的,我刚刚通过运行IntentService进行文件解析和复制的activity创建了它,并且只将intent中的真实文件路径发送到目标activity。p、 s.:发送和发送(多个类别可以保留在一个意向过滤器标签中)