Ich habe App für die Erkennung von otg Kabel erstellt.Wenn ich starte es zeigt "otg nicht verbunden" und es wiederholt es viele Male und wenn ich in otg Kabel anschließen es immer noch wiederholt "otg nicht verbunden" und nach einigen Mal zeigt es "otg connected" !!!!Android Alarm Manager wiederholen
Wenn ich app starte, sollte es nichts zeigen, es sollte nur zeigen, wenn ich anschliesse oder wenn ich otg Kabel ausstoße. Und es sollte dieselbe Mitteilung viele Male nicht wiederholen !!!!
MainActivity.class
public class MainActivity extends AppCompatActivity
{
private Process suProcess;
private PendingIntent pendingIntent;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
getRoot();
startAlarm();
}
private void getRoot()
{
try
{
suProcess = Runtime.getRuntime().exec("su");
}
catch (IOException e)
{
}
}
private void startAlarm()
{
Intent alarmIntent = new Intent(MainActivity.this, AlarmReceiver.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 0, alarmIntent, 0);
AlarmManager manager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
int interval = 1000;
manager.setInexactRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis(), interval, pendingIntent);
}
}
AlarmReceiver.class
public class AlarmReceiver extends BroadcastReceiver
{
@Override
public void onReceive(Context context,Intent intent)
{
File directory = new File("/sys/bus/usb/devices");
File[] contents = directory.listFiles();
if(contents.length == 0)
{
Toast.makeText(context,"otg not connected",Toast.LENGTH_SHORT).show();
}
else
{
Toast.makeText(context,"otg connected",Toast.LENGTH_SHORT).show();
}
}
}
Was Runnable ist? – pavlenis
Wie man Methode innerhalb Runnable setzt? – pavlenis
Es funktioniert !!! Vielen Dank!!! Kannst du mir einfach sagen, wie man Switch statt Toast in AlarmReceiver.class aktiviert und deaktiviert !!! – pavlenis