| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- package com.example.mysmsapp;
- import android.app.role.RoleManager;
- import android.content.Intent;
- import android.os.Build;
- import android.os.Bundle;
- import android.provider.Settings;
- import android.util.Log;
- import android.widget.Toast;
- import androidx.activity.EdgeToEdge;
- import androidx.annotation.Nullable;
- import androidx.appcompat.app.AppCompatActivity;
- import androidx.core.graphics.Insets;
- import androidx.core.view.ViewCompat;
- import androidx.core.view.WindowInsetsCompat;
- public class MainActivity extends AppCompatActivity {
- private static final String TAG = "MainActivity";
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- EdgeToEdge.enable(this);
- setContentView(R.layout.activity_main);
- ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main), (v, insets) -> {
- Insets systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars());
- v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom);
- return insets;
- });
- findViewById(R.id.btn_set_default).setOnClickListener(e -> {
- RoleManager roleManager;
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
- roleManager = getApplicationContext().getSystemService(RoleManager.class);
- if (roleManager.isRoleAvailable(RoleManager.ROLE_SMS)) {
- if (roleManager.isRoleHeld(RoleManager.ROLE_SMS)) {
- Toast.makeText(getApplicationContext(), "PrismApp set as default.", Toast.LENGTH_SHORT).show();
- Intent i = new Intent(Settings.ACTION_MANAGE_DEFAULT_APPS_SETTINGS);
- startActivity(i);
- } else {
- Intent roleRequestIntent = roleManager.createRequestRoleIntent(RoleManager.ROLE_SMS);
- startActivityForResult(roleRequestIntent, 1);
- }
- }
- }
- });
- findViewById(R.id.btn_send_sms).setOnClickListener(e -> {
- Intent intent = SmsUtils.getSmsIntent("10086", "Hello, world!");
- sendBroadcast(intent);
- });
- findViewById(R.id.btn_pdu).setOnClickListener(e -> {
- byte[] res = SmsUtils.createFakeSms("15077886171", "test");
- printPdu(res);
- });
- }
- @Override
- protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
- super.onActivityResult(requestCode, resultCode, data);
- Log.d(TAG, "onActivityResult: ");
- }
- public static void printPdu(byte[] bytes) {
- String s = "";
- for (byte b : bytes) {
- s += b + ", ";
- }
- Log.d("PDU", s);
- }
- }
|