android开发分享正在广播的Android adb shell:组件名称错误

我试图“模拟”重新启动(或其他任何与adb shell am ),我无法弄清楚如何引用我的组件。 再说一遍,也许我甚至不明白一个组件是什么意思。 下面我首先包括一些不起作用的示例命令,然后是我的清单。 请注意,“电话”启动时会成功调用StartupReceiver。 我只是想在没有完全重新启动的情况下重新触发它。

失败的ADB命令:

 $ ./adb shell am broadcast -a android.intent.action.BOOT_COMPLETED -c android.intent.category.HOME -n net.fstab.checkit_android.StartupReceiver <help snipped> Error: Bad component name: net.fstab.checkit_android.StartupReceiver $ ./adb shell am broadcast -a android.intent.action.BOOT_COMPLETED -c android.intent.category.HOME -n .StartupReceiver <help snipped> Error: Bad component name: .StartupReceiver $ ./adb shell am broadcast -a android.intent.action.BOOT_COMPLETED -c android.intent.category.HOME -n StartupReceiver <help snipped> Error: Bad component name: StartupReceiver 

performance:

 <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="https://schemas.android.com/apk/res/android" package="net.fstab.checkit_android" android:installLocation="internalOnly" android:versionCode="1" android:versionName="1.0"> <application android:icon="@drawable/icon" android:label="@string/app_name"> <activity android:name=".BaseActivity" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name="BasePreferences" /> <activity android:name="EditActivity" /> <receiver android:name="StartupReceiver"> <intent-filter> <action android:name="android.intent.action.BOOT_COMPLETED" /> <category android:name="android.intent.category.HOME" /> </intent-filter> </receiver> <receiver android:name="NotificationReceiver"> <intent-filter> <action android:name="net.fstab.checkit_android.NotificationReceiver" /> </intent-filter> </receiver> <service android:name="StartupService"> <intent-filter> <action android:name="net.fstab.checkit_android.StartupService" /> </intent-filter> </service> </application> <uses-sdk android:minSdkVersion="8" /> <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> </manifest> 

    你需要在类名之前指定包名(然后你可以在没有包的情况下编写),如下所示:

     ./adb shell am broadcast -a android.intent.action.BOOT_COMPLETED -c android.intent.category.HOME -n net.fstab.checkit_android/.StartupReceiver 

    实际上,事实certificate,你只需要在包名后面加一个斜线即可。

    你帮我开始了,我帮你完成了:)

    广播不需要指定任何接收器。 这种情况下,请中风

     adb shell am broadcast -a android.intent.action.BOOT_COMPLETED 

    希望这个帮助。

    如果BOOT_COMPLETED收到两次,则某些应用程序可能会出现问题,而将广播限制在您的应用程序中:

     adb shell am broadcast -a android.intent.action.BOOT_COMPLETED -p com.example.package 

    尝试

    adb shell am broadcast -a android.intent.action.BOOT_COMPLETED -n net.fstab.checkit_android/.StartupReceiver

    (注意-n net.fstab.checkit_android / .StartupReceiver )瞄准一个特定的接收器。

    另外请确保您的应用程序使用权限来接收特定的广播意图 – 在这种情况下,将是

    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />

    以上就是android开发分享正在广播的Android adb shell:组件名称错误相关内容,想了解更多android开发(异常处理)及android游戏开发关注计算机技术网(www.ctvol.com)!)。

      本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

      ctvol管理联系方式QQ:251552304

      本文章地址:https://www.ctvol.com/addevelopment/513735.html

      (0)
      上一篇 2020年11月29日
      下一篇 2020年11月29日

      精彩推荐