2014-02-05 42 views
-1

我需要通過我的應用程序禁用我手機中安裝的所有應用程序的傳出呼叫廣播接收器。我試過但我沒有明白。請幫我如何從我的應用程序在Android中禁用另一個應用程序廣播接收器?

這裏是我的代碼

PackageManager packageManager = getPackageManager(); 

    List<String> startupApps = new ArrayList<String>(); 
      final Intent intent = new Intent("android.intent.action.NEW_OUTGOING_CALL"); 
      final List<ResolveInfo> activities = packageManager.queryBroadcastReceivers(intent, 0); 
      for (ResolveInfo resolveInfo : activities) { 
       ActivityInfo activityInfo = resolveInfo.activityInfo; 
       if (activityInfo != null) 
        startupApps.add(activityInfo.name); 
      } 
      Log.e("receivers",startupApps.toString()); 

      for(int i=0;i<startupApps.size();i++) 
      { 
      if(!("com.example.customcalling.GetOutgoingNUmber1").equals(startupApps.get(i))) 
      { 
       String newreceivers=startupApps.get(i); 
       Log.i("newReceivers", newreceivers); 
       ComponentName receiver = new ComponentName("com.isodroid.fsci.controller.receiver","com.isodroid.fsci.controller.receiver.OutgoingCallReceiver"); 
     pm.setComponentEnabledSetting(receiver, 
      PackageManager.COMPONENT_ENABLED_STATE_DISABLED, 
      PackageManager.DONT_KILL_APP); 
      } 
      } 

    startActivity(new Intent(Intent.ACTION_CALL, Uri.parse("tel:" 
     + phonenumber))); 

回答

4

這是不可能的。您無權禁用(或啓用)其他應用程序的組件。

相關問題