前提・実現したいこと
Android StudioでAndroid SDKの使い方を勉強しております。
自作したアプリからGmail等のメールアプリを送り先、件名、本文が埋まった状態で起動したいです。
ACTION_SENDTO、EXTRA_SUBJECT、EXTRA_TEXTを使ってやろうとしています。
発生している問題
エミュレータ(Nexus 5X API R,Android API 30)では、うまく動作するのに
実機(OPPO CPH1903[スマホ]とVANTOP Z10[タブレット])では、送り先以外の件名と本文が入力されないままメールが起動します。
エミュレータ
送り先(ACTION_SENDTO):〇
件名(EXTRA_SUBJECT) :〇
本文(EXTRA_TEXT) :〇
実機
送り先(ACTION_SENDTO):〇
件名(EXTRA_SUBJECT) :✖
本文(EXTRA_TEXT) :✖
(アプリ実行時の画面は一番最後に載せてあります。)
### エラーメッセージ
問題と思われるエラーは、実機でアプリを実行したときのみ、
VANTOP Z10[タブレット]では
E/ion: ioctl c0044901 failed with code -1: Invalid argument E/OpenGLRenderer: Can't load library: dlopen failed: library "libperfctl.so" not found
のように、OPPO CPH1903[スマホ]では、
E/ActivityThread: Failed to find provider info for cn.teddymobile.free.anteater.den.provider
のように表示されます。(デバックログの全体は、文字数制限で載りませんでした。)
MainActivity.java(ソースコード)
package
1 2import androidx.appcompat.app.AppCompatActivity; 3 4import android.content.Intent; 5import android.content.res.Resources; 6import android.net.Uri; 7import android.os.Bundle; 8import android.provider.MediaStore; 9import android.view.View; 10import android.widget.Button; 11import android.widget.EditText; 12import android.widget.RadioButton; 13import android.widget.RadioGroup; 14 15public class MainActivity extends AppCompatActivity { 16 17 @Overrid 18 protected void onCreate(Bundle savedInstanceState) { 19 super.onCreate(savedInstanceState); 20 setContentView(R.layout.activity_pick_up); 21 Button btnSend = (Button) this.findViewById(R.id.button); 22 23 btnSend.setOnClickListener(new View.OnClickListener() { 24 @Override 25 public void onClick(View v) { 26 String title = "件名"; 27 String textbody = "本文"; 28 Resources res = getResources(); 29 Uri uri = Uri.parse("mailto:" + res.getString(R.string.mail_to).toString()); 30 31 Intent intent = new Intent(Intent.ACTION_SENDTO, uri); 32 intent.putExtra(Intent.EXTRA_SUBJECT,title); 33 intent.putExtra(Intent.EXTRA_TEXT, textbody); 34 startActivity(intent); 35 } 36 }); 37 } 38} 39
strings.xml(ソースコード)
<string name="mail_to">--------@gmail.com</string>
試したこと
・https://developer.android.com/guide/components/intents-common?hl=ja#javaにて、EXTRA_SUBJECT、EXTRA_TEXTの使い方について調べたところ、使用方法はあっていました。
・library "libperfctl.so" not foundについてインターネットで検索をかけましたが、めぼしいものが見つかりませんでした。
・https://feel-log.net/android/developer/api-level/を参考にして実機のAPIを調べたところ27でした。build.gradleのtargetSdkVersionが29だったので、27に変更しましたができませんでした。
・スマホとタブレットの両方の実機でアプリを起動してみた。
補足情報(FW/ツールのバージョンなど)
Android Studio 3.6.3
minSdkVersion 16
targetSdkVersion 29
エミュレータのAPI: 30
実機のAPI(OPPO CPH1903): 27(https://feel-log.net/android/developer/api-level/を参考。実機のAndroidバージョンが8.1.0だったため)
実機のAPI(VANTOP Z10): 28(https://feel-log.net/android/developer/api-level/を参考。実機のAndroidバージョンが9だったため)
アプリ実行時の画面
回答2件
あなたの回答
tips
プレビュー