我遇到这样一个情况:
我创建了一个app,并且在manifest中注册了一个设置壁纸的activity。当我的应用不在后台运行的时候,别的应用设置壁纸,还是能找到我的activity,造成无法设置。
我的思路是:在我的应用没运行的时候先隐藏掉该activity。 简单的说,如何在程序中隐藏一个已经在menifest中注册好的activity?
我尝试过调用sdk的api:
PackageManager pm = getPackageManager();pm.setComponentEnabledSetting(new ComponentName(this,"com.my app.WallpaperChooser"),
PackageManager.COMPONENT_ENABLED_STATE_DISABLED, 0);结果是手机挂了,不明白什么意思
我创建了一个app,并且在manifest中注册了一个设置壁纸的activity。当我的应用不在后台运行的时候,别的应用设置壁纸,还是能找到我的activity,造成无法设置。
我的思路是:在我的应用没运行的时候先隐藏掉该activity。 简单的说,如何在程序中隐藏一个已经在menifest中注册好的activity?
我尝试过调用sdk的api:
PackageManager pm = getPackageManager();pm.setComponentEnabledSetting(new ComponentName(this,"com.my app.WallpaperChooser"),
PackageManager.COMPONENT_ENABLED_STATE_DISABLED, 0);结果是手机挂了,不明白什么意思
<action android:name="android.intent.action.SET_WALLPAPER" />
</intent-filter>
别的app启动你的activity时肯定没有携带你的activity中必须的参数,导致运行error你可以把intent-filter去掉,也可以在activity中判断,不合法时直接finish
但是不设置这个intent-filter,我怎么调用这个activity呢?