我有一个需要隐藏的Android应用程序,只有在用户拨打特定号码时才会显示。我可以确切地知道它是如何完成的吗?我搜索过但没有成功。提前谢谢。
答案 0 :(得分: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);
}
}
}
并添加Permission:android.permission.PROCESS_OUTGOING_CALLS 将BroadcastReciever添加到清单文件。
最好让用户通过偏好设置
设置Ghost模式