首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用LVL和显式意图保护应用程序?

使用LVL和显式意图保护应用程序?
EN

Stack Overflow用户
提问于 2011-02-15 19:36:29
回答 2查看 253关注 0票数 0

我有一个使用LVL的应用程序。它由两个活动组成(为简单起见):第一个活动名为LVLActivity,用于检查许可证。如果失败,它将简单地结束,否则它将启动第二个活动,名为MainActivity,并带有明确的意图。

在货单上,有

代码语言:javascript
运行
复制
<application android:icon="@drawable/icon" android:label="@string/app_name">
  <activity android:name=".LVLActivity">
    <intent-filter>
      <action android:name="android.intent.action.MAIN" />
      <category android:name="android.intent.category.LAUNCHER"/>
    </intent-filter>
  </activity>
  <activity android:name=".MainActivity">
  </activity>
</application>

其他人有可能编写一个小应用程序,以明确的意图启动MainActivity吗?

这种设置是否足以提供合理的保护?

EN

回答 2

Stack Overflow用户

发布于 2011-02-15 19:54:04

我相信MainActivity可以通过以下方式从另一个应用程序启动:

代码语言:javascript
运行
复制
Intent intent = new Intent();
intent.setComponent(new ComponentName("com.package", "com.package.MainActivity"));
startActivity(intent);

所以,不,这不会保护你的MainActivity本身,但是你可以在LVLActivity和MainActivity之间拥有某种必需的共享数据,这样如果这些数据不存在,MainActivity就会停止。

但是,请注意,即使这样也不会阻止可以对代码进行反向工程的用户。为了防止这种情况,您不应该在设备上的应用程序中包含任何敏感数据-这基本上意味着您应该在服务器上执行所有业务逻辑,并且只将对给定用户安全的数据发送回设备。当然,您需要在服务器上拥有某种类型的用户authentication+authorization。

票数 1
EN

Stack Overflow用户

发布于 2011-02-15 21:09:20

为什么你不在你的主要活动中做许可证检查呢?这就是谷歌recommend的方式。

除此之外,你可以随时执行许可证检查,但@Peter Knego说得对,如果有人真的想绕过许可证检查,那么他们就会这么做。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5003124

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档