【问题标题】:Android: Programmatically triggering phone checkinAndroid:以编程方式触发电话签入
【发布时间】:2010-07-01 00:39:20
【问题描述】:

在我的 Android 应用程序中,我需要通过 Google 让手机“签入”市场更新。这可以由用户通过打开拨号器并输入“*#*#CHECKIN#*#*”来手动完成。我的应用需要能够做同样的事情。

我很肯定这是使用 Intent 完成的。一些挖掘表明警报管理器有这个待处理的意图等待:

  RTC_WAKEUP #5: Alarm{44b1ee18 type 0 com.google.android.server.checkin}
    type=0 when=1277981220358 repeatInterval=40212000 count=0
    operation=PendingIntent{44b256c0: PendingIntentRecord{44c26a80 com.google.android.server.checkin broadcastIntent}}

现在的问题是,我如何让我的应用广播这种相同类型的 Intent?我在活动中尝试了 this.sendBroadcast(myIntent) 没有运气,所以我现在很困惑。

有什么想法吗?

【问题讨论】:

  • 注意:我完全清楚使用私有 API 是一个巨大的禁忌。此应用程序不会在市场上分发。这个应用程序是一个针对有根的自定义 ROM 用户的一键式补丁。我不担心将来会出现这种情况,因为它是一次性的应用程序。也就是说,有人知道如何做到这一点吗?

标签: android android-intent broadcast


【解决方案1】:

科利诺戴尔,

startActivity(new Intent(Intent.ACTION_DIAL, Uri.parse("tel:*%23*%232432546%23*%23*")));

我今天通过对# 进行十六进制编码并调用拨号器得到它。 Root66 给了我提示

jcase

【讨论】:

    【解决方案2】:

    您不应依赖此功能。这是一个未记录的 API,它没有记录是有原因的。

    这可能(并且可能会)在 Android 电子市场应用的未来版本中发生变化。由于您的应用程序依赖此功能,这意味着您的应用程序将中断。

    【讨论】:

    • 我完全理解并且通常同意这一点。但是,此特定应用程序是一次性应用程序,旨在解决一些根用户在使用自定义 ROM 时遇到的问题。它不适合大众或类似的东西使用,这就是为什么我(以及那些将使用该应用程序的人)不介意它在未来“崩溃”的可能性。它只是一个快速修复,我希望为这些根用户打包成一个简单的 APK。
    • 将代码打入拨号器被认为比要求用户查找、下载、安装和运行另一个应用程序更多的工作?
    • @adamp:这是应用程序需要执行的许多事情之一。如果它可以通过单击完成所有这些操作而不是将用户发送到拨号器然后让他们回到应用程序中,那就太好了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-06-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多