2017-09-24 92 views
0

分享文字时,我有一个按摩我希望用户与其它应用程序共享,所以我执行以下操作:异常尝试使用意图

String shareBody = "content"; 
Intent sharingIntent = new Intent(android.content.Intent.ACTION_SEND); 
sharingIntent.setType("text/plain"); 
sharingIntent.putExtra(android.content.Intent.EXTRA_TEXT, shareBody); 
startActivity(Intent.createChooser(sharingIntent, "title")); 

的问题是,我得到一个异常从系统和我想不出什么我做错了:

The Google Play services resources were not found. Check your project 

configuration to ensure that the resources are included. 
09-24 14:25:53.618 24079-24079/? E/MotionRecognitionManager: mSContextService = [email protected] 
09-24 14:25:53.618 24079-24079/? E/MotionRecognitionManager: motionService = [email protected]1417df9 
09-24 14:25:53.618 24079-24079/? E/MotionRecognitionManager: motionService = [email protected]1417df9 
09-24 14:25:53.868 24079-24177/? E/AndroidRuntime: FATAL EXCEPTION: AsyncTask #5 
                Process: android:ui, PID: 24079 
                java.lang.RuntimeException: An error occurred while executing doInBackground() 
                 at android.os.AsyncTask$3.done(AsyncTask.java:309) 
                 at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:354) 
                 at java.util.concurrent.FutureTask.setException(FutureTask.java:223) 
                 at java.util.concurrent.FutureTask.run(FutureTask.java:242) 
                 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113) 
                 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588) 
                 at java.lang.Thread.run(Thread.java:818) 
                Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'int android.graphics.drawable.Drawable.getIntrinsicWidth()' on a null object reference 
                 at android.app.ApplicationPackageManager.getThemeIconWithBG(ApplicationPackageManager.java:3062) 
                 at android.app.ApplicationPackageManager.getThemeIconWithBG(ApplicationPackageManager.java:3037) 
                 at android.app.ApplicationPackageManager.getDrawableForIconTray(ApplicationPackageManager.java:2933) 
                 at com.android.internal.app.ResolverActivity.loadIconForResolveInfo(ResolverActivity.java:797) 
                 at com.android.internal.app.ResolverActivity$LoadIconTask.doInBackground(ResolverActivity.java:2471) 
                 at com.android.internal.app.ResolverActivity$LoadIconTask.doInBackground(ResolverActivity.java:2459) 
                 at android.os.AsyncTask$2.call(AsyncTask.java:295) 
                 at java.util.concurrent.FutureTask.run(FutureTask.java:237) 
                 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)  
                 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)  
                 at java.lang.Thread.run(Thread.java:818)  

这种事只有当我做sharingIntent.setType("text/plain");。有谁知道如何解决这个问题?

编辑:

String shareBody = "really? I'm sending you a code to our awesome app!\nYour key:" 
            + " "/* get key*/ + " Get started:" + " https://url"; 

编辑2:好了,显然这只是发生在我的三星galaxy S7并没有对像素。我还注意到日志还显示:

09-24 14:48:44.888 31968-31968/? E/MotionRecognitionManager: mSContextService = [email protected] 
09-24 14:48:44.888 31968-31968/? E/MotionRecognitionManager: motionService = [email protected]1417df9 
09-24 14:48:44.888 31968-31968/? E/MotionRecognitionManager: motionService = [email protected]1417df9 
+1

你的共享文本包含一些图像还是可绘制的? –

+0

它包括'\ n'字符和一个网址 – ben

+0

一些带有'\ n'字符和url的文本 – ben

回答

1

使用此代码与其他应用程序共享文本。

private void share() { 
    Intent sharingIntent = new Intent(Intent.ACTION_SEND); 
    String shareBody ="your message"; 
    sharingIntent.putExtra(Intent.EXTRA_SUBJECT, "subject"); 
    sharingIntent.putExtra(Intent.EXTRA_TEXT, shareBody); 
    sharingIntent.setType("text/plain"); 
    startActivity(Intent.createChooser(sharingIntent, "Share via")); 
}