设为首页 加入收藏

TOP

Android 接收微信、QQ其他应用打开,第三方分享(一)
2023-07-23 13:31:58 】 浏览:244
Tags:Android 应用打 方分享

这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助

在AndroidManifest.xml注册ACTION事件

<activity
        android:name="com.test.app.MainActivity"
        android:configChanges="orientation|keyboardHidden|screenSize"
        android:label="这里的名称会对外显示"
        android:launchMode="singleTask"
        android:screenOrientation="portrait">
        //注册接收分享
        <intent-filter>
            <action android:name="android.intent.action.SEND" />
            <category android:name="android.intent.category.DEFAULT" />

            //接收分享的文件类型
            <data android:mimeType="image/*" />
            <data android:mimeType="application/msword" />
            <data android:mimeType="application/vnd.openxmlformats-officedocument.wordprocessingml.document" />
            <data android:mimeType="application/vnd.ms-excel" />
            <data android:mimeType="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" />
            <data android:mimeType="application/vnd.ms-powerpoint" />
            <data android:mimeType="application/vnd.openxmlformats-officedocument.presentationml.presentation" />
            <data android:mimeType="application/pdf" />
            <data android:mimeType="text/plain" />
            </intent-filter>
            
        //注册默认打开事件,微信、QQ的其他应用打开
        <intent-filter>
            <action android:name="android.intent.action.VIEW" />
            <category android:name="android.intent.category.DEFAULT" />
            
            //接收打开的文件类型
            <data android:scheme="file" />
            <data android:scheme="content" />
            <data android:mimeType="image/*" />
            <data android:mimeType="application/msword" />
            <data android:mimeType="application/vnd.openxmlformats-officedocument.wordprocessingml.document" />
            <data android:mimeType="application/vnd.ms-excel" />
            <data android:mimeType="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" />
            <data android:mimeType="application/vnd.ms-powerpoint" />
            <data android:mimeType="application/vnd.openxmlformats-officedocument.presentationml.presentation" />
            <data android:mimeType="application/pdf" />
            <data android:mimeType="text/plain" />
            </intent-filter>
        </activity>

在用于接收分享的Activity里面加接收代码

  1. 当APP进程在后台时,会调用Activity的onNewIntent方法
  2. 当APP进程被杀死时,会调用onCreate方法

所以在两个方法中都需要监听事件

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        receiveActionSend(intent);
    }
    
    @Override
    protected void onNewIntent(Intent intent) {
        super.onNewIntent(intent);
        receiveActionSend(intent);
    }

receiveActionSend方法如下

    public void receiveActionSend(Intent intent) {
        String action = intent.getAction();
        String type = intent.getType();

        //判断action事件
        if (type == null || (!Intent.ACTION_VIEW.equals(action) && !Intent.ACTION_SEND.equals(action))) {
            return;
        }
        
        //取出文件uri
        Uri uri = intent.getData();
        if (uri == null) {
            uri = intent.getParcelableExtra(Intent.EXTRA_STREAM);
        }
        
        //获取文件真实地址
        String file
首页 上一页 1 2 3 下一页 尾页 1/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇viewpager嵌套滑动冲突 下一篇AR空间音频能力,打造沉浸式声音..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目