タグ付けされた質問 「android-intent」

アクティビティ、サービスを開始するため、またはBroadcastReceiverを介してシステムまたはアプリケーションのイベント/通知に応答するためのインテント、インテントエクストラ、保留インテントの実用的で高度な使用に関する質問。(基本的な知識については、情報を参照してください)

12
ACTION_SENDインテントの特定のアプリをフィルタリングする方法(およびアプリごとに異なるテキストを設定する方法)
ACTION_SENDインテントを使用しているときに、特定のアプリをどのように除外できますか? この質問はさまざまな方法で行われましたが、与えられた回答に基づいて解決策を収集することはできませんでした。うまくいけば、誰かが助けることができます。アプリ内で共有する機能を提供したいと思います。続いてAndroidのDevのアレクサンダー・ルーカスアドバイス、私はFacebookの/ TwitterのAPIを使用してインテントを使用していない、それを行うことを好むだろう。 ACTION_SENDインテントを使用した共有は素晴らしいですが、問題は、(1)すべての共有オプションが必要なわけではなく、FB、Twitter、Eメールに制限すること、(2)共有したくないことです。各共有アプリにも同じことが言えます。たとえば、Twitterの共有にはいくつかのメンションとハッシュタグを含め、140文字以下に制限しますが、Facebookの共有にはリンクとフィーチャー画像を含めます。 ACTION_SEND(共有)インテントのオプションを制限することは可能ですか?PackageManagerとqueryIntentActivitiesの使用について何かを見てきましたが、PackageManagerとACTION_SENDインテントの間の接続を理解できませんでした。 または 共有アプリをフィルターするのではなく、ACTION_SENDインテントを使用して、ダイアログをポップアップするのではなく、FacebookやTwitterに直接移動できれば、私の問題も解決できます。その場合は、自分のダイアログを作成し、「Facebook」をクリックしたときにFacebook固有のインテントを作成して、Facebookに送信するだけです。Twitterと同じです。 またはそれは不可能ですか?FacebookおよびTwitter APIが唯一の方法ですか?

15
親アクティビティに正しく戻るにはどうすればよいですか?
私のAndroidアプリケーションには2つのアクティビティ(AおよびB)があり、インテントを使用してアクティビティAからアクティビティBに移動します。parent_activityの使用が有効になっています。 <activity android:name=".B" android:label="B" > <meta-data android:name="android.support.PARENT_ACTIVITY" android:value="com.example.app_name.A" /> </activity> また、UPボタンを提供するテーマも使用しています。 したがって、アクティビティを呼び出した後、BIはUPボタンを使用してアクティビティAに戻ることができます。問題は、アプリケーションがアクティビティAのonCreate()関数を再度呼び出しているようで、これが必要な動作ではないことです。アクティビティBを呼び出す前と同じように見えるアクティビティAが必要です。 これを達成する方法はありますか? 前もって感謝します 編集: アクティビティAからアクティビティBを開始するコードは記述していません。Eclipseによって自動生成されると思います。 クラスBは次のようになります。 @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_b); getActionBar().setDisplayHomeAsUpEnabled(true); } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.activity_b, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case android.R.id.home: NavUtils.navigateUpFromSameTask(this); …

12
Parcelableがシリアル化可能なオブジェクトgetactivity()を書き込んでいるIOExceptionを検出しました
だから私はこれをlogcatで取得しています: java.lang.RuntimeException: Parcelable encountered IOException writing serializable object (name = com.resources.student_list.Student) これは、私の生徒のクラスがシリアライズ可能ではないことを意味しますが、そうです、これが私の生徒のクラスです。 import java.io.Serializable; public class Student implements Comparable<Student>, Serializable{ private static final long serialVersionUID = 1L; private String firstName, lastName; private DSLL<Grade> gradeList; public Student() { firstName = ""; lastName = ""; gradeList = new DSLL<Grade>(); } public String …

9
Androidでアニメーションなしのアクティビティを切り替える方法は?
FLAG_ACTIVITY_NO_ANIMATIONAndroidManifestファイルでIntentフラグを適切に使用するにはどうすればよいですか?私の問題は些細なことだと思いますが、良い例や解決策を見つけることができません。 <intent-filter> <data android:name="android.content.Intent.FLAG_ACTIVITY_NO_ANIMATION" /> </intent-filter> ただし、コンパイラーによってエラーは報告されdataませんが、正しくありません。アクティビティを切り替える場合に備えて、アニメーションを無効にしたいだけです。getWindow().setWindowAnimations(0);むしろonCreateまたはonResumeで使用できますが、フラグを使用する方がより良い方法ですね。 コードでも使用できます: Intent intent = new Intent(v.getContext(), newactivity.class); intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION); getContext().startActivity(intent); しかし、私はこのフラグをAndroidマニフェストで使用したいと思います。2番目のアクティビティから最初のアクティビティに戻る場合にもアニメーションを無効にします。

14
Android ACTION_IMAGE_CAPTUREインテント
ユーザーが新しい写真を撮れるように、ネイティブカメラアプリを使用しようとしています。を省略しEXTRA_OUTPUT extraて小さなビットマップ画像を返す場合は、問題なく動作します。ただし、putExtra(EXTRA_OUTPUT,...)開始する前に意図した場合は、カメラアプリの[OK]ボタンを押すまですべてが機能します。「OK」ボタンは何もしません。カメラアプリは開いたままで、何もロックされません。キャンセルできますが、ファイルは書き込まれません。ACTION_IMAGE_CAPTURE撮影した写真をファイルに書き込むには、具体的に何をしなければならないのでしょうか。 編集:MediaStore.ACTION_IMAGE_CAPTURE明確にするために、これは意図を介して行われます

5
Androidに独自のURIスキームを実装する方法
たとえば、次のようなURIを定義したいとします。 myapp://path/to/what/i/want?d=This%20is%20a%20test 自分のアプリケーションまたはサービスで処理する必要があります。スキームは、またはでは"myapp"ないことに注意してください。それがまさに私が意図していることです。AndroidOS用に独自のURIスキーマをグローバルに定義することです。これは可能ですか?"http""ftp" これは、Skype(skype://)やトレントダウンローダープログラム(torrent://)などのWindowsシステムなど、一部のプログラムですでに実行されているものと多少似ています。


17
ユーザーが画像のカメラまたはギャラリーを選択できるようにする
私がやろうとしていることは非常に単純なようですが、数日検索した後では、まったく理解できません。 ユーザーが複数(最大5つ)の画像を選択できるアプリケーションがあります。を使用していImageViewます。ユーザーがをクリックしたときに、次ImageViewのオプションを許可します ギャラリーから画像を選択する、または カメラを使用して画像をキャプチャします。 私はACTION_GET_CONTENTインテントを使用することから始めましたが、それはギャラリーに行くのにうまくいきます。そこでACTION_PICK_ACTIVITY、ユーザーがカメラまたはギャラリーを選択できるようにインテントを使用してみました。 Intent pickIntent = new Intent(Intent.ACTION_PICK_ACTIVITY); Intent gallIntent=new Intent(Intent.ACTION_GET_CONTENT); gallIntent.setType("image/*"); Intent camIntent = new Intent("android.media.action.IMAGE_CAPTURE"); pickIntent.putExtra(Intent.EXTRA_INTENT, camIntent); pickIntent.putExtra(Intent.EXTRA_INTENT, gallIntent) pickIntent.putExtra(Intent.EXTRA_TITLE, "Select Source"); startActivityForResult(pickIntent, IMAGE_SELECTOR); しかし、追加できるのは1つだけのようEXTRA_INTENTです。メニューは期待どおりに表示されますが、唯一のオプションはギャラリーとファイルです...カメラはありません)。 私が見逃しているこれを行うためのより良い/簡単な方法はありますか?助けてくれてありがとう。

2
onNewIntent()ライフサイクルと登録済みリスナー
singleTopアクティビティを使用して、を介して検索ダイアログからインテントを受信して​​いonNewIntent()ます。 私が気づいたのは、それonPause()が前onNewIntent()に呼び出され、その後に呼び出されることonResume()です。視覚的に: 検索ダイアログが開始されました アクティビティに発動した検索意図 onPause() onNewIntent() onResume() 問題は、に登録されonResume()ているリスナーが登録されていることですonPause()が、それらはonNewIntent()呼び出しの中で必要です。これらのリスナーを利用可能にする標準的な方法はありますか?

18
Android YouTubeアプリPlay Video Intent
Android向けYouTube動画をダウンロードできるアプリを作成しました。さて、YouTubeネイティブアプリで動画を再生するとダウンロードできるようにしたいと思っています。これを行うには、YouTubeアプリを再生するためにYouTubeネイティブアプリが出すインテントを知る必要があります。 エミュレータにYouTubeプログラムがある場合、これは簡単にできるので、最初の質問は次のとおり です。1。エミュレータ用のYouTubeアプリをダウンロードできますか ?2.ユーザーがビデオを選択するときに使用されるインテントは何ですか?再生用。

8
Android:インテントを使用してプレーンテキストを共有する(すべてのメッセージングアプリに対して)
私は意図を使用していくつかのテキストを共有しようとしています: Intent i = new Intent(android.content.Intent.ACTION_SEND); i.setType("text/plain"); i.putExtra(android.content.Intent.EXTRA_TEXT, "TEXT"); そしてチューザーでワーピング: startActivity(Intent.createChooser(sms, getResources().getString(R.string.share_using))); できます!メールアプリ専用です。 私が必要とするのは、すべてのメッセージングアプリの一般的な目的です:電子メール、SMS、IM(Whatsapp、Viber、Gmail、SMS ...)を使用android.content.Intent.ACTION_VIEW してみましたが、役に立たi.setType("vnd.android-dir/mms-sms");なかったものを使用してみました... ("vnd.android-dir/mms-sms"SMSのみを使用して共有!)

20
インテントでSMSアプリケーションを起動します
インテントについて質問があります... SMSアプリを起動しようとしています... Intent intent = new Intent(Intent.ACTION_MAIN); intent.setType("vnd.android-dir/mms-sms"); int flags = Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_SINGLE_TOP | Intent.FLAG_ACTIVITY_CLEAR_TOP; intent.setFlags(flags); intent.setData(Uri.parse("content://sms/inbox")); context.startActivity(intent); だから、私が意図しすぎていることがわかりますが、それはどうすればよいかわからないためです。

10
プログラムによるAPKのインストール/アンインストール(PackageManagerとIntents)
私のアプリケーションは他のアプリケーションをインストールし、インストールしたアプリケーションを追跡する必要があります。もちろん、これは、インストールされているアプリケーションのリストを保持するだけで実現できます。しかし、これは必要ないはずです!installedManager(a、b)関係を維持するのはPackageManagerの責任です。実際、APIによると、 public abstract String getInstallerPackageName(String packageName)- パッケージをインストールしたアプリケーションのパッケージ名を取得します。これは、パッケージがどの市場から来たかを識別します。 現在のアプローチ インテントを使用してAPKをインストールする Intent intent = new Intent(Intent.ACTION_VIEW); intent.setDataAndType(apkUri, "application/vnd.android.package-archive"); startActivity(intent); インテントを使用してAPKをアンインストールします。 Intent intent = new Intent(Intent.ACTION_DELETE, Uri.fromParts("package", getPackageManager().getPackageArchiveInfo(apkUri.getPath(), 0).packageName,null)); startActivity(intent); これは明らかにAndroid Marketがパッケージをインストール/アンインストールする方法ではありません。それらは、PackageManagerのより豊富なバージョンを使用します。これは、AndroidソースコードをAndroid Gitリポジトリからダウンロードすることで確認できます。以下は、インテントアプローチに対応する2つの非表示メソッドです。残念ながら、外部の開発者はそれらを利用できません。しかし、おそらくそれらは将来的になるでしょうか? より良いアプローチ PackageManagerを使用したAPKのインストール /** * @hide * * Install a package. Since this may take a little while, the result will …

20
自分の(意図)から別のアプリケーションを開く
私は自分のプログラムを更新する方法を知っています。また、事前定義されたUriを使用してプログラムを開く方法を知っています(SMSや電子メールなど)。 MyTracksまたは他のアプリケーションがどのようなインテントをリッスンしているかわからない場合に、それらを開くためのインテントを作成する方法を知る必要があります。 この情報はDDMSから取得しましたが、これを使用可能なインテントに変換することに成功していません。これは、MyTracksを手動で開いたときに取得されます。 ご協力いただきありがとうございます 05-06 11:22:24.945: INFO/ActivityManager(76): Starting activity: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.google.android.maps.mytracks/com.google.android.apps.mytracks.MyTracks bnds=[243,338][317,417] } 05-06 11:22:25.005: INFO/ActivityManager(76): Start proc com.google.android.maps.mytracks for activity com.google.android.maps.mytracks/com.google.android.apps.mytracks.MyTracks: pid=1176 uid=10063 gids={3003, 1015} 05-06 11:22:26.995: INFO/ActivityManager(76): Displayed activity com.google.android.maps.mytracks/com.google.android.apps.mytracks.MyTracks: 1996 ms (total 1996 ms)

10
Androidデバイスで着信を検出するにはどうすればよいですか?
私は、電話がかかってきたときに番号を検出したいようなアプリを作ろうとしています。以下は私が試したものですが、着信を検出していません。 MainActivityバックグラウンドで実行したいのですが、どうすればよいですか? 私はmanifestファイルで許可を与えました。 <uses-permission android:name="android.permission.READ_PHONE_STATE"/> マニフェストで他に提供する必要があるものはありますか? public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.test_layout); } public class myPhoneStateChangeListener extends PhoneStateListener { @Override public void onCallStateChanged(int state, String incomingNumber) { super.onCallStateChanged(state, incomingNumber); if (state == TelephonyManager.CALL_STATE_RINGING) { String phoneNumber = incomingNumber; } } } }

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.