在 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" />
发送短信的逻辑
你可以简单地做到这一点。这发送短信
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 :"));
注意:如果要在 Activity 中执行此操作,请在 Activity 中注册广播接收器,并在 Activity 销毁时取消注册。