2016-06-25 7 views
-1

Ich habe eine broadcastreceiver.classandroid Anruffunktion durch broadcastreceiver

public class Myclass extends BroadcastReceiver{ 
    @Override 
    public void onReceive(Context context, Intent intent) { 

    } 
} 

i Funktion in broadcastreceiver nennen wollen, die in meinem activity.please ist mit einigen Code mir sagen, wie das hier gemacht ist meine Tätigkeit

public class MainActivity extends AppCompatActivity { 
    Context context = this; 
    private AudioManager myAudioManager; 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     public void myfunction() 
     { 
     final Handler handler = new Handler(); 
     handler.postDelayed(new Runnable() { 
      @Override 
      public void run() { 

       PackageManager p = getPackageManager(); 
       ComponentName componentName = new ComponentName(getApplicationContext(),com.example.faisal.wifiprofile.MainActivity.class); 
       p.setComponentEnabledSetting(componentName, PackageManager.COMPONENT_ENABLED_STATE_ENABLED, PackageManager.DONT_KILL_APP); 
       handler.postDelayed(this, 100000); 
      } 
     }, 100000); 
     } 
    } 
} 

hier ist Funktionsname myfunction ich diese Funktion in broadcastreceiver nennen möchte meinen Code dank im Voraus sagen Sie mir bitte eine gute Lösung oder bearbeiten

+0

einfach es statisch machen !! – Manifest

+0

werden Sie bitte meinen Code bearbeiten Ich bin neu in Android – xtylish

+0

Siehe diese Frage: [Wie erstellt man unsere eigene Listener-Schnittstelle in Android?] (Http://stackoverflow.com/questions/994840/how-to-create-our- own-listener-interface-in-android) –

Antwort

0

Dies sollte w ork:

public class Myclass extends BroadcastReceiver{ 
@Override 
public void onReceive(Context context, Intent intent) { 
    MainActivity.myfunction(); 
} 

}

public class MainActivity extends AppCompatActivity { 
Context context = this; 
private AudioManager myAudioManager; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
} 

    public static void myfunction() 
    { 
    final Handler handler = new Handler(); 
    handler.postDelayed(new Runnable() { 
     @Override 
     public void run() { 

      PackageManager p = getPackageManager(); 
      ComponentName componentName = new ComponentName(getApplicationContext(),com.example.faisal.wifiprofile.MainActivity.class); 
      p.setComponentEnabledSetting(componentName, PackageManager.COMPONENT_ENABLED_STATE_ENABLED, PackageManager.DONT_KILL_APP); 
      handler.postDelayed(this, 100000); 
     } 
    }, 100000); 
    } 

}

+0

wenn ich funktion in klasse setzen es geben fehler kann nicht beheben – xtylish

+0

Aktualisiert, um wahrscheinlich ihren fehler zu lösen. Wenn es nicht funktioniert, post hier volle Fehlermeldung erhalten Sie –

+0

öffentliche statische void myfunction() { Toast.makeText (MainActivity.this, "Jetzt im Rufton-Modus", Toast.LENGTH_SHORT) .show(); } – xtylish