作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
如果我为特定应用创建了用户定义的 Intent 过滤器,那么我该如何限制其他应用访问它或使它不被其他应用访问。
<intent-filter>
<action android:name="com.opentable.action.RESERVE"/>
在这种情况下,将调用注册到 com.opentable.action.RESERVE
的特定 Activity 或广播接收器。有没有一种方法可以指定 com.opentable.action.RESERVE
是否也可以从其他应用程序调用或仅限制我的应用程序?
最佳答案
如果您要定义应用程序内部的自定义 Intent 操作,则无需在 list 文件中定义它。
例如,在应用程序中,我使用 LocalBroadcastManager作为调度程序模式实现的一部分。我将以这种方式注册 BroadcastReceiver 实现:
IntentFilter filter = new IntentFilter();
filter.addAction("com.example.android.MY_ACTION");
LocalBroadcastManager.getInstance(context).registerReceiver(receiver, filter);
然后当我运行以下代码时,我的接收器将接收到本地广播的 Intent:
Intent intent = new Intent();
intent.setAction("com.example.android.MY_ACTION");
LocalBroadcastManager.getInstance(context).sendBroadcast(intent);
这样您就不需要为可能与之交互的其他应用发布您的操作。
关于android - 如何将用户定义的 Intent 限制到您的应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24904807/
我是一名优秀的程序员,十分优秀!