为什么WhatsApp突然无法打开用户共享的任何APK? -- whatsapp-messenger 领域 和 apk 领域 android 相关 的问题

Why WhatsApp is suddenly unable to open any APK shared by users?


简体版||繁體版
1
vote

问题

中文

截至13-11-18,我在whatsapp上分享了apk文件,用于在一个人的圈子内测试应用程序,没有任何问题。但截至今天,如果我试图打开一个APK,我会收到一个错误吐司,说:

您可能没有正确的应用程序来查看此内容。

他们是否改变了他们的政策,并决定不要让人们在他们的平台上分享APK文件?

我不使用第三方网站进行分享氧ps,其中大多数铬斑点大多数人说"这种类型的文件可能会损害您的设备" 。

english

As of 13-11-18, I was sharing APK files on WhatsApp, for testing apps within a circle of people, with no problem whatsoever. But as of today, if I try to open an apk, I get an error toast saying:

You may not have the proper app to view this content.

Did they change their policies and decided not to let people share APK files on their platform?

I don't use third party websites for sharing APKs, where mostly Chrome spooks most people saying that "This type of file may harm your device".

     
         
         

回答列表

3
 
vote
好像我的理解好,这就是如何从WhatsApp开启文件扩展文件:
  • 文件类型从扩展名( getmimetypefromextension )和 intent.action.view 已推出提供文件路径 dat= 和文件类型 typ=
  • 如果文件扩展名未知,文件被视为八元流 mime型。
  • 优先应用程序列表( /data/system/users/0/package-restrictions.xml ,由用户选择的默认值和 / system / etc / prodert-apps / *。XML )检查可以处理的活动此文件类型。
  • 如果只有一个可以处理此MIME类型的应用程序,则会启动该应用程序(活动)。您可以看到哪个App处理MIME类型的逻辑:

      dumpsys package preferred-xml   

    使用 adb shell permission.DUMP root 是必需的。

  • 如果有多个应用程序(给定意图的多个匹配活动)可用,并且没有首选应用程序已设置, ResolverActivity (来自Android框架资源)启动(不是 intent.action.chooser " 显示一个对话框选择应用程序(对于 Once Always )。
  • 如果文件类型是apk(典型= application / vnd.android.package-archive)和packageInstaller设置为处理此文件,则调用 action.INSTALL_PACKAGE
  • 现在,如果android版本是oreo或更新的,它会更新whatsapp,它需要 permission.request_install_packages 安装未知包。曾经授予,将安装应用程序。

您可以使用Logcat来查看整个过程的开启方式。使用 typ=0 typ=1 typ=2 是必需的一个。您可以在此处分享结果以帮助我和其他人了解链条休息的地方。

解决方法:
确保将文件发送并以正确的延期发送和接收。.Apk。如果WhatsApp无法出于任何原因处理下载的APK文件,请使用文件管理器。探索 typ=3 并安装apk文件。

相关: 替代"文件打开" (不是堆栈"documentui" )for whatsapp?< / a>

 

Well as per my understanding this is how files are opened from WhatsApp making use of file extensions:

  • File type is determined from extension (getMimeTypeFromExtension) and intent.action.VIEW is launched provided with file path dat= and file type typ=.
  • If the file extension is not known, file is treated as octet-stream mime type.
  • List of preferred apps (/data/system/users/0/package-restrictions.xml which is built from user selected defaults and files at /system/etc/preferred-apps/*.xml) is checked for activities that can handle this file type.
  • If there is only one app that can handle this mime type, that app (activity) is launched. You can see which app handles what mime type by:

    dumpsys package preferred-xml 

    Use adb shell or one of permission.DUMP or root is required.

  • If there are multiple apps (more than one matching activity for the given intent) available and no preferred app is already set, ResolverActivity (from Android framework resources) is launched (not intent.action.CHOOSER) showing a dialog to select app (for Once or Always).
  • If the file type is apk (typ=application/vnd.android.package-archive) and PackageInstaller is set to handle this file, action.INSTALL_PACKAGE is invoked.
  • Now if Android version is Oreo or above and WhatsApp is updated, it would need permission.REQUEST_INSTALL_PACKAGES to install unknown package. Once granted, app will be installed.

You can use logcat to view how this whole process goes on. Use adb shell or one of permission.READ_LOGS or root is required. You can share results here to help me and others understand where the chain breaks.

Workaround:
Make sure that files are sent and received with correct extension i.e. .apk. If WhatsApp is unable to handle downloaded apk file for any reason, use a File Manager. Explore to /sdcard/WhatsApp/Media/WhatsApp Documents and install apk file.

RELATED: Alternative xe2x80x9cFile Openxe2x80x9d (not stack xe2x80x9cDocumentsUixe2x80x9d) for WhatsApp?

 
 
   
   

相关问题

1  我正在努力下载蓝kik,但它一直在给我'未安装的应用程序'消息  ( Im trying to download blue kik but it keeps giving me the app not installed ) 
我正在使用一个tcl lx(我不会怀疑是问题,因为手机有多糟糕),我正在寻找一个简单的解决方案。我尝试多次安装它,删除和重新下载APK,但似乎没有任何工作。 ...

1  Android多久要解压缩应用程序的APK和OBB文件?  ( How often does android have to decompress an apps apk and obb files ) 
根据伟大的答案 这个问题,Android必须在运行应用程序之前解压缩每个应用程序的APK和OBB文件。 是每次运行App的每次运行时执行的这种解压缩,假设它已被推出android的进程缓存? ...

0  是否有可能通过PC从Google Store安装/更新应用程序?  ( Is it possible to install update apps from google store via pc ) 
几个月前,我被迫卸载一些应用程序以更新其他应用程序。最近我丢失了通过Gmail接收电子邮件通知的能力(然而,搜索工作)。所有因为垃圾应用程序Google Play和Google Play服务,不断增长。我计划完全卸载它们,至少重新恢复我手机前期前2年的功能。 但是,如果我必须进行一些应用程序的更新,或者我想安装新的应...

31  如何妥善安装其.apk的系统应用程序?  ( How do i properly install a system app given its apk ) 
我删除了系统应用程序(com.android.mms),我有.apk需要恢复它,但它不会通过标准通道安装(运行.apk给我"未安装应用程序" )。安装系统应用程序的正确方法是什么? ...

4  将APK从电话复制到平板电脑  ( Copying apks from phone to tablet ) 
我有一个易于销售的平板电脑(Coby Kyros),我买了一个三星迷人(AT&amp; t)。 我是否可以将APK从手机下载到平板电脑中? ...

3  手动安装Split APK  ( Install split apk manually ) 
最近我必须知道一个名为split apks的东西,并发现切片作为无效的apk文件,只有基础是。不幸的是,这意味着通常的默认包安装程序无法处理此操作,因此我必须知道另一件名为SAI的东西,一个拆分APK安装程序,能够与或没有root工作。然而,好奇,我想知道它是如何在内部工作的,并开始做一些研究。我没有走得太远,但我必...

3  尝试恢复系统upates(com.samsung.apk)时,Titanium Backup锁定  ( Titanium backup locks up when trying to restore system upates com samsung apk ) 
好的,所以试图停止OTA通知,我未安装系统更新1.0.0 ( com.samsung.apk )使用 titanium备份。好吧,没有帮助,所以我试图恢复我需要更新我的个人资料或PRL的应用程序。但是,当我尝试使用 titanium backup 恢复这个应用程序时,它只是坐在"恢复......" 屏幕上,我必须使用...

0  将应用程序安装程序更改为闪存安装程序?  ( Changing app installer to flashable installer ) 
你好,每个人都!, 澄清标题... 是否有一种改变,修改,转换等app安装程序(.apk)到闪存的安装程序(.zip)。 我不参考只需创建一个zip以简单地将apk文件复制到其所需的目录,而是将应用程序安装为新应用程序,并且/或以相同/相似的方式升级现有的一个APK本身将被安装。 我试图搜索,结果不具体到我要求的...

81  如何从播放商店下载APK文件?  ( How can i download an apk file from the play store ) 
我无法从我的Android设备上的播放商店下载应用程序(也许是由于网络问题),所以我想知道如何从 http://play.google.com/store ? ...

6  Android应用程序捆绑的语言支持呢?  ( What about android app bundles language support ) 
你可以了解你需要了解的一切,你需要了解 Android应用程序包在这里 。因为这是一个新的交付APK的方式,我对它的工作原理非常感兴趣。 当看看链接网站您将理解应用程序包只会在 google play 上下载适当的语言资源文件。 现在,在安装后更改系统语言时会发生什么?即使在原始 app bundle 中,应用程序...




© 2022 it.wenda123.org All Rights Reserved. 问答之家 版权所有