ブロードキャスト レシーバーを AndroidManifest.xml に登録します。この受信機は、画面がオンになったときにブロードキャストします。これにより、アプリケーションのアクティビティが画面上にあるかどうかが実行されます。
AndroidManifest.xml
<receiver android:name=".MyBroadCastReciever">
<intent-filter>
<action android:name="android.intent.action.SCREEN_ON"/>
</intent-filter>
</receiver>
MyBroadCastReciever.java
public class MyBroadCastReciever extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals(Intent.ACTION_SCREEN_ON)) {
Log.i("Check","Screen went ON");
Toast.makeText(context, "screen ON",Toast.LENGTH_LONG).show();
// Here you can write the logic of send SMS, Email, Make a call
}
}
}
アップデート
呼び出しを行うロジック
これは簡単に行うことができます。直接電話をかけます。
Intent callIntent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:" + "Your Phone_number"));
startActivity(callIntent);
この権限を AndroidManifest.xml に追加します
<uses-permission android:name="android.permission.CALL_PHONE" />
SMS を送信するロジック
これは簡単に行うことができます。これにより、SMS が送信されます
public void sendSMS() {
String phoneNumber = "0123456789";
String message = "Hello World!";
SmsManager smsManager = SmsManager.getDefault();
smsManager.sendTextMessage(phoneNumber, null, message, null, null);
}
この権限を AndroidManifest.xml に追加します
<uses-permission android:name="android.permission.SEND_SMS" />
電子メールを送信するロジック
ID でのユーザーの操作なしでここにメールを送信する場合は、PHP Web サービスを設計し、Android アプリケーションで Web サービスを呼び出します。
設定した電子メールからメールを送信する場合は、Intent
.
Intent email = new Intent(Intent.ACTION_SEND);
email.putExtra(Intent.EXTRA_EMAIL, new String[]{"youremail@yahoo.com"});
email.putExtra(Intent.EXTRA_SUBJECT, "subject");
email.putExtra(Intent.EXTRA_TEXT, "message");
email.setType("message/rfc822");
startActivity(Intent.createChooser(email, "Choose an Email client :"));
注 : このアクションをアクティビティで実行する場合は、ブロードキャスト レシーバーをアクティビティに登録し、アクティビティが破棄されたら登録を解除します。