如何判断用户是否成功完成了共享意图?例如,如果用户想要通过Facebook或Twitter分享应用程序.
编辑:
我不是在考虑如何创建Intent共享.我想知道用户是否真的分享了什么.或者用户点击了取消按钮.
当然这是一个微不足道的问题.如果我Service使用以下代码启动a会发生什么:
startService(new Intent(this,myService.class));
Run Code Online (Sandbox Code Playgroud)
然后我不小心回想起上面的代码,而它还在Service运行?
我担心第二次调用startservice可以创建一个新的Service,以便同时执行两个不同的进程.
我想在android中使用ACTION_SEND共享Text + Image,我使用下面的代码,我只能共享Image但我不能与它共享Text,
private Uri imageUri;
private Intent intent;
imageUri = Uri.parse("android.resource://" + getPackageName()+ "/drawable/" + "ic_launcher");
intent = new Intent();
intent.setAction(Intent.ACTION_SEND);
intent.putExtra(Intent.EXTRA_TEXT, "Hello");
intent.putExtra(Intent.EXTRA_STREAM, imageUri);
intent.setType("image/*");
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)
对此有何帮助?
在我的应用的生产版本中开始出现此错误.
java.lang.NullPointerException: Attempt to invoke virtual method 'boolean android.content.Intent.migrateExtraStreamToClipData()' on a null object reference
Run Code Online (Sandbox Code Playgroud)
实际上并没有明确的界限,但我最近将支持库版本更改为24.0.0.这是完整的堆栈跟踪:
Fatal Exception: java.lang.NullPointerException: Attempt to invoke virtual method 'boolean android.content.Intent.migrateExtraStreamToClipData()' on a null object reference
at android.app.Instrumentation.execStartActivity(Instrumentation.java:1494)
at android.app.Activity.startActivityForResult(Activity.java:3745)
at android.support.v4.app.BaseFragmentActivityJB.startActivityForResult(BaseFragmentActivityJB.java:48)
at android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:75)
at android.app.Activity.startActivityForResult(Activity.java:3706)
at android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:871)
at com.google.android.gms.common.internal.zzi$1.zztD(Unknown Source)
at com.google.android.gms.common.internal.zzi.onClick(Unknown Source)
at com.android.internal.app.AlertController$ButtonHandler.handleMessage(AlertController.java:162)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5254)
at java.lang.reflect.Method.invoke(Method.java)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
Run Code Online (Sandbox Code Playgroud)
编辑:我还想注意,100%的用户收到此错误也是根植.这也发生在23.4.0 ...我也有一个潜在的相关错误,它同时出现,与Firebase相关的Base64.decode功能有关.
编辑2:前几天我从Android Dev获得了一些帮助.他们建议我更新我的项目的Google Play服务版本,到目前为止似乎已经有所帮助.我会再等几天才能从我的用户那里得到结果,但初始日志很有希望.
我之前使用的是9.0.2但我现在使用的是9.2.0.
编辑3:更新到9.2.0没有帮助崩溃.我仍然从root用户那里得到同样的错误.我注意到,遇到崩溃的用户低于Android 6.0,因此我将在现场设备上进行测试并尽快更新.
可能重复:
Android:如何获取Intent的发件人?
在android中有没有办法找到触发INTENT(在目标活动中)的源活动?
场景是我有两个活动A和B.两者都激活了调用活动C的意图.活动C根据其来源显示额外信息.例如.如果呼叫来自A,则C仅显示2个文本视图,而在B触发的意图的情况下,活动C显示3个文本视图(基本上更多信息基于谁是呼叫者).
为了确定这一点,我需要知道是谁解雇了调用C的意图.我该怎么做呢?
根据我从Gmail和TED应用程序观察到的向上导航的行为,它将导航到具有相同状态(滚动位置)的父级,而不像谷歌在他们的文档中所说的实施向上导航,就像创建父意图并启动它一样.
我实现了Android示例代码中的代码,所有状态都消失了(我之前设置的所有额外参数和滚动位置).这是什么方法?我在Android文档上找不到任何内容.
以下是代码:
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
Intent upIntent = new Intent(this, MyParentActivity.class);
if (NavUtils.shouldUpRecreateTask(this, upIntent)) {
// This activity is not part of the application's task, so create a new task
// with a synthesized back stack.
TaskStackBuilder.from(this)
.addNextIntent(new Intent(this, MyGreatGrandParentActivity.class))
.addNextIntent(new Intent(this, MyGrandParentActivity.class))
.addNextIntent(upIntent)
.startActivities();
finish();
} else {
// This activity is part of the application's task, so simply
// navigate up to the hierarchical parent activity.
NavUtils.navigateUpTo(this, upIntent); …Run Code Online (Sandbox Code Playgroud) 我试图从通知发送信息到被调用的活动,而从我的活动我得到null.
通知代码是:
private void showNotification() {
Intent resultIntent = new Intent(this, MainActivity.class);
if (D)
Log.d(TAG, "Id: " + Id);
resultIntent.putExtra("ineedid", deviceId);
TaskStackBuilder stackBuilder = TaskStackBuilder.create(this);
stackBuilder.addParentStack(MeterActivity.class);
stackBuilder.addNextIntent(resultIntent);
PendingIntent resultPendingIntent = stackBuilder.getPendingIntent(0,
PendingIntent.FLAG_UPDATE_CURRENT);
// Bundle tmp = resultIntent.getExtras();
// if (tmp == null) {
// Log.d(TAG, "tmp bundle is null");
// } else {
// long id = tmp.getLong("ineedid", -1);
// Log.d(TAG, "tmp id : " + id);
// }
NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(
BLEMessengerService.this)
.setSmallIcon(R.drawable.ic_action_search)
.setContentTitle("Event tracker")
.setContentText("Events received").setOngoing(true) …Run Code Online (Sandbox Code Playgroud) android bundle android-intent android-notifications android-pendingintent
Facebook,为什么你没有在分享意图中拍摄图像和文字?

我正在尝试使用标准的Android共享Intent来共享图像和一些文本.我的分享意图设置正确,我已经在那里得到了图像,我已经完成了交易的结束.我的代码,让我告诉你:
public void doShare() {
File image = getShareFile();
Intent shareIntent = new Intent();
shareIntent.setAction(Intent.ACTION_SEND);
shareIntent.setType("*/*");
shareIntent.putExtra(Intent.EXTRA_SUBJECT, resultObject.getShareSubject());
shareIntent.putExtra(Intent.EXTRA_TEXT, resultObject.getShareText());
shareIntent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(image));
shareActionProvider.setShareIntent(shareIntent);
}
Run Code Online (Sandbox Code Playgroud)
Facebook出现在将处理我的意图的应用程序列表中,但它就在于它!当点击Facebook实际做分享时,它说:
请仅附加照片或单个视频.
为何选择Facebook,为什么?为什么你会出现一个可以处理我的Intent的应用程序,然后通过不处理Intent让我看起来对我的用户来说是愚蠢的?你答应Facebook.
我在这个网站和网络上看到过很多线程.有没有人让这个工作,而不必使用他们的API?
我要加载的URL中WebView
我使用了以下代码:
webView = (WebView) findViewById(R.id.webview1);
webView.setWebViewClient(new HostsWebClient());
webView.getSettings().setPluginState(PluginState.ON);
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setJavaScriptCanOpenWindowsAutomatically(false);
webView.getSettings().setPluginsEnabled(true);
webView.getSettings().setSupportMultipleWindows(false);
webView.getSettings().setSupportZoom(false);
webView.setVerticalScrollBarEnabled(false);
webView.setHorizontalScrollBarEnabled(false);
webView.loadUrl(URL);
Run Code Online (Sandbox Code Playgroud)
但是当我执行它时,我无法加载网址.我的网页不可用.
有人可以帮忙吗?
我已经浏览了一些链接,以获得从默认图库中选择的图像的正确图像方向,以便在exif标记始终返回0的所有设备中标准化.
对于使用肖像相机应用程序android拍摄的图像,EXIF方向标记值始终为0
http://mobisocial.stanford.edu/news/2011/08/rotating-images-in-android/
如何获得适用于所有设备的精确解决方案?
android ×10
android-intent ×10
bundle ×1
facebook ×1
image ×1
intentfilter ×1
resolution ×1
service ×1
sharing ×1