1
otg cableを検出するためのアプリを作成しました。起動すると「接続されていません」と表示され、何度も何度も繰り返して、otgケーブルを接続すると「接続されていませんそれは "接続されている"と表示される時間!Android Alarm Managerのリピート
私はアプリを起動するときに何も表示すべきではありません。プラグインしたときまたはotg cable.Andをプラグインするときに表示されるはずです。
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();
}
}
}
のRunnableは何ですか? – pavlenis
Runnableの中にメソッドを入れる方法は? – pavlenis
それは動作します!どうもありがとうございました!!! AlarmReceiver.classでToastの代わりにスイッチとディセーブルを有効にする方法を教えてください。 – pavlenis