私のアンドロイドアプリからテスト目的で定期的に電話をかけたい/プログラムから受け取って、自分のネットワークから統計情報を収集したい。だから私のアプリは毎回頻繁に電話をかけ、電話に出ると数秒後に電話が終了します。ここから始めるには、私が理解できるコードがあります。それはダイヤルし、私が画面に触れることなく私が指定した番号の呼び出しです。 DIALボタンを押さなくて、私が提供した番号に電話をかけなければならない私の理解のACTION_CALL 1として プログラムでアンドロイドで電話をかける方法
:
public class MainActivity extends AppCompatActivity {
int MY_PERMISSIONS_REQUEST_CALL_PHONE = 101;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
call();
}
private void call() {
try {
Intent callIntent = new Intent(Intent.ACTION_CALL);
callIntent.setData(Uri.parse("tel:2125551212"));
System.out.println("====before startActivity====");
if (ActivityCompat.checkSelfPermission(this, Manifest.permission.CALL_PHONE) !=
PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this,
new String[]{Manifest.permission.CALL_PHONE},
MY_PERMISSIONS_REQUEST_CALL_PHONE);
return;
}
startActivity(callIntent);
System.out.println("=====getcallActivity==="+getCallingActivity());
} catch (ActivityNotFoundException e) {
Log.e("helloAndroid","Call failed",e);
}
}
}
マニフェストは、このラインを持っています。しかし、ACTION_DIALのように動作しています。これは画面に数字を表示し、ユーザーはダイヤルボタンを押して電話をかける必要があります。では、ACTION_DIALとACTION_CALLに違いはありませんか?
私は6.0以降の許可があることを理解して記事のいくつかを読んだ後、私が使用している場合
私の質問はロリポップ(ある(私は上記の私のコードで使用している)のコールをダイヤルし、ユーザーから要求される必要があります5.0)OSでは、ダイヤルせずに電話をかけることができますか?
ありがとうございます。それは素晴らしい作品です!これをAsyncTaskとして設定することができますか? –
AsyncTaskは、あなたが意味していたことを明確にしていませんが、AsyncTaskは、スレッドなどのより複雑なメソッドを扱うことなく、Androidで並列処理を実装する最も簡単な方法の1つです。あなたはUIスレッドでそれ以外の場合は、バックグラウンドスレッドでいくつかのプロセスの後にダイヤルしたい場合は、.use onPostExecuteをクラッシュします。 –