pin*_*amb 7 android android-intent
我正在开发一个应用程序,它已经定义了一些意图过滤器(以动作字符串的形式,例如com.example.project.UPLOAD)供其他应用程序使用.考虑一个没有我的应用程序但使用我的intent过滤器的应用程序的设备,创建的Intent将无法按照文档中的描述进行操作测试.有没有办法防止这种情况发生或提供更好的用户体验?以下是我能想到的一些方法,但不知道是否有可行方法:
处理这个问题的最佳方法是什么?如果可能,请提供一些实施参考.
除了在市场中提及之外,我不确定您将如何在应用程序安装过程中显示消息,因为(据我所知)没有支持在安装时执行代码的方法。
如果其他应用程序使用您的过滤器,则由它们来确保您的软件包已安装。如果没有安装,你就无法真正给他们任何东西。
他们可以使用PackageManager测试是否安装了软件包,并调整其逻辑以在需要安装您的软件包时通知用户。例子:
private boolean isInstalled(){
ComponentName comp = new ComponentName("com.yourpackagestuff", "com.yourpackagestuff.TestClass");
Intent intentName = new Intent().setComponent(comp);
List <ResolveInfo> list = ctx.getPackageManager().queryIntentActivities(intentName, PackageManager.MATCH_DEFAULT_ONLY);
return list.size() > 0;
}
Run Code Online (Sandbox Code Playgroud)
至少我会这么做。
| 归档时间: |
|
| 查看次数: |
626 次 |
| 最近记录: |