0

我有一个需要隐藏的 android 应用程序,只有在用户拨打特定号码时才会出现。请问我可以确切地知道它是如何完成的吗?我已经搜索并没有成功。提前致谢。

4

1 回答 1

1

为了从启动器中完全隐藏应用程序,您首先需要创建一个 BroadcastReciever:

   public class LaunchAppViaDialReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
    // TODO Auto-generated method stub
    Bundle bundle = intent.getExtras();
    if (null == bundle)
        return;
    String phoneNubmer = intent.getStringExtra(Intent.EXTRA_PHONE_NUMBER);
    //here change the number to your desired number
    if (phoneNubmer.equals("<Requested Number>")) {
        setResultData(null);
        if(status == true){
            PackageManager packageManager = context.getPackageManager();
            ComponentName componentName = new ComponentName(context,
                    YourLauncherActivity.class);
            packageManager.setComponentEnabledSetting(componentName, PackageManager.COMPONENT_ENABLED_STATE_ENABLED,
                    PackageManager.DONT_KILL_APP);
            Intent appIntent = new Intent(context,    YourLauncherActivity.class);
            appIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            context.startActivity(appIntent);
        }
    }
}

并添加权限:android.permission.PROCESS_OUTGOING_CALLS 将 BroadcastReciever 添加到 Manifest 文件。

最好让用户通过偏好设置Ghost模式

于 2012-09-11T12:39:23.087 回答