Mah*_*hdi 3 android android-intent android-activity
我需要隐藏应用程序图标.
并使用拨号运行程序
示例:*12345#
我无法运行已隐藏的程序.
隐藏应用:
PackageManager p = getPackageManager();
            ComponentName componentName = new ComponentName(this, com.example.broadcastreciver.MainActivity.class); // activity which is first time open in manifiest file which is declare as <category android:name="android.intent.category.LAUNCHER" />
            p.setComponentEnabledSetting(componentName,PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP);
运行MainActivity:
Intent appIntent = new Intent(context, Blank.class);
            appIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
           context.startActivity(appIntent);
这是AndroidManifest.xml
    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name=".MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <receiver android:name=".IncomingSms" >
            <intent-filter>
                <action android:name="android.provider.Telephony.SMS_RECEIVED" />
                <action android:name="android.intent.action.BOOT_COMPLETED" />
                <action android:name="android.intent.action.NEW_OUTGOING_CALL" />
            </intent-filter>
        </receiver>
        <activity
            android:name=".Blank"
            android:label="@string/title_activity_blank" >
        </activity>
    </application>
如果禁用该活动,则无法启动.您实际想要做的是禁用或删除<intent-filter>活动.不幸的是,明显的意图过滤器无法删除甚至检查(请参阅此错误).
您可以做的是定义<activity-alias>具有<intent-filter>s的,并启用/禁用此组件.禁用活动别名后,您仍然可以使用隐式意图启动目标活动,但应用程序不应出现在启动器中,因为禁用的组件是具有action.MAIN和category.LAUNCHER意图过滤器的组件. .
| 归档时间: | 
 | 
| 查看次数: | 1579 次 | 
| 最近记录: |