Android 添加的操作\u程序包\u不工作
当用户安装我的应用程序时,我必须登录,因为我已经在清单中注册了ACTION\u PACKAGE\u添加了广播,并创建了一个接收器。但安装应用程序后,接收器不会触发。我尝试过注册广播动作包而不是包添加,而且效果很好。我已经阅读了大多数关于这方面的SO问题,并尝试过,但没有一个对我有效。我在下面给出了我的代码 清单Android 添加的操作\u程序包\u不工作,android,broadcastreceiver,android-manifest,installation-package,Android,Broadcastreceiver,Android Manifest,Installation Package,当用户安装我的应用程序时,我必须登录,因为我已经在清单中注册了ACTION\u PACKAGE\u添加了广播,并创建了一个接收器。但安装应用程序后,接收器不会触发。我尝试过注册广播动作包而不是包添加,而且效果很好。我已经阅读了大多数关于这方面的SO问题,并尝试过,但没有一个对我有效。我在下面给出了我的代码 清单 <receiver android:name=".AppInstallReceiver"> <intent-filter android:priori
<receiver android:name=".AppInstallReceiver">
<intent-filter android:priority="1">
<action android:name="android.intent.action.PACKAGE_ADDED" />
<action android:name="android.intent.action.PACKAGE_REPLACED" />
<data android:scheme="package" />
</intent-filter>
</receiver>
这段代码有问题吗?我想只有在你启动应用程序后,它才会起作用。因为如果不启动应用程序,您的广播接收器将无法初始化。我在某个地方读过它,有没有其他解决方案可以做到这一点?没有,实际上它还取决于您设备的ROM,因为几乎每个设备都有自己的定制安卓操作系统。所以,除非你有一个根设备,否则没有解决方案。@coderz似乎有一些方法。。检查此链接
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals("android.intent.action.PACKAGE_ADDED")) {
String packageName = intent.getDataString();
Log.i("Installed:", packageName + "package name of the program");
}
Log.d(TAG, "Action: " + intent.getAction());
Uri data = intent.getData();
Log.d(TAG, "The DATA: " + data);
}