拦截使用BroadcastReceiver打开应用程序的Android设置

时间:2017-03-22 14:23:47

标签: java android broadcastreceiver android-manifest

我在AndroidManifest中声明了权限和接收者

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

<receiver android:name=".UninstallIntentReceiver">
            <intent-filter android:priority="0">
                <action android:name="android.intent.action.QUERY_PACKAGE_RESTART" />
                <data android:scheme="package" />
            </intent-filter>
        </receiver>

这是我的java类接收器

public class UninstallIntentReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
    String[] packageNames = intent.getStringArrayExtra("android.intent.extra.PACKAGES");

    if(packageNames!=null){
        for(String packageName: packageNames){
            Log.d("User selected: ",packageName);
        }
    }
}

当我打开其他应用程序的设置时效果很好 - 我收到通知  (我可以在日志中看到所选应用程序的包名称),但是 当我打开设置我自己的应用程序时,我没有收到任何东西

0 个答案:

没有答案