小编too*_*o42的帖子

在Android中发送和接收短信和彩信(pre Kit Kat Android 4.4)

我已经弄明白了如何发送和接收短信.要发送短信,我必须调用该类的sendTextMessage()sendMultipartTextMessage()方法SmsManager.要接收SMS消息,我必须在AndroidMainfest.xml文件中注册接收器.然后我不得不重写onReceive()方法BroadcastReceiver.我在下面列举了一些例子.

MainActivity.java

public class MainActivity extends Activity {
    private static String SENT = "SMS_SENT";
    private static String DELIVERED = "SMS_DELIVERED";
    private static int MAX_SMS_MESSAGE_LENGTH = 160;

    // ---sends an SMS message to another device---
    public static void sendSMS(String phoneNumber, String message) {

        PendingIntent piSent = PendingIntent.getBroadcast(mContext, 0, new Intent(SENT), 0);
        PendingIntent piDelivered = PendingIntent.getBroadcast(mContext, 0,new Intent(DELIVERED), 0);
        SmsManager smsManager = SmsManager.getDefault();

        int length = message.length();          
        if(length > MAX_SMS_MESSAGE_LENGTH) …
Run Code Online (Sandbox Code Playgroud)

sms android mms broadcastreceiver android-manifest

131
推荐指数
3
解决办法
11万
查看次数

联系Bubble EditText

我正在尝试创建与MultiAutoCompleteTextViewGoogle+应用中的实施方式类似的联系人气泡.以下是截图:

Google+撰写帖子截图 .

我试图扩展DynamicDrawableSpan该类,以便在一段文本的背景中获得一个spannable drawable

public class BubbleSpan extends DynamicDrawableSpan {
  private Context c;

  public BubbleSpan(Context context) {
    super();
    c = context;
  }

  @Override
  public Drawable getDrawable() {
    Resources res = c.getResources();
    Drawable d = res.getDrawable(R.drawable.oval);
    d.setBounds(0, 0, 100, 20);
    return d;
  }
}
Run Code Online (Sandbox Code Playgroud)

我的oval.xml drawable定义如下:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
  <solid android:color="#352765"/>
  <padding android:left="7dp" android:top="7dp"
    android:right="7dp" android:bottom="7dp" />
  <corners android:radius="6dp" />
</shape>
Run Code Online (Sandbox Code Playgroud)

在我的Activity类中MulitAutoCompleteTextView,我设置了气泡跨度,如下所示:

final Editable e = tv.getEditableText();
final SpannableStringBuilder sb = new …
Run Code Online (Sandbox Code Playgroud)

html android drawable android-edittext

89
推荐指数
3
解决办法
3万
查看次数

表情符号(表情符号)视图/键盘布局的实现

我试图弄清楚如何在Facebook应用程序和谷歌Hangouts应用程序上实现表情符号(表情符号)选择.我查看SoftKeyboard了Android API示例中的Demo应用程序,但这些表情符号视图的显示看起来并不像SoftKeyboard.它的外观和行为更像是自定义Dialog视图.有没有人知道这些是如何实现的?

Facebook App

Facebook的

Google Hangouts应用

视频群聊

此外,Unicode是发送表情符号的最佳方式还是有其他选择?我注意到有些Unicode序列\u1F601不会渲染相应的表情符号而是显示为1:

EditText messageInput = (EditText) findViewById(R.id.message_input);
messageInput.getText().append("\u1F601");
Run Code Online (Sandbox Code Playgroud)

android emoticons android-softkeyboard emoji

58
推荐指数
4
解决办法
9万
查看次数

由CursorLoader支持的AutoCompleteTextView

因此,我无法在使用自定义的同时扩展MultiAutoCompleteTextView和支持它.这个问题特别随着电话而上升.在其中有一个游标作为参数方法具有在第一调用此方法有效的和未封闭的光标.但是,后续调用会导致空游标或关闭游​​标.我猜这与管理如何有关. CursorLoaderTokenizermAdapter.setCursorToStringConverter();convertToString()LoaderManagerCursorLoader

如果我将setCursorToStringConverter()方法注释掉,那么我会根据我在此视图中输入的文本看到可用选项列表.但是,由于没有convertToString()实现terminateToken()方法,因此自定义方法Tokenizer不接收我想要的字符串,而是接收游标对象的代表字符串,因为游标尚未用于获取当前字符串值在得到的查询中的所需列的.

任何人都已经能够实现三类的组合(CursorLoader/LoaderManger,MultiAutoCompleteTextView,和Tokenizer)?

我是否朝着正确的方向前进,或者这根本不可能?

我已经能够实现一个自定义MultiAutoCompleteTextView支持SimpleCursorAdapter的自定义Tokenizer.我只是想知道是否有可能使用a来实现它CursorLoader,因为严格模式抱怨光标MultiAutoCompleteTextView没有被明确关闭.

任何帮助将不胜感激.

public class CustomMultiAutoCompleteTextView extends MultiAutoCompleteTextView
  implements LoaderManager.LoaderCallbacks<Cursor> {

    private final String DEBUG_TAG = getClass().getSimpleName().toString();
    private Messenger2 mContext;
    private RecipientsCursorAdapter mAdapter;
    private ContentResolver mContentResolver;
    private final char delimiter = ' ';
    private CustomMultiAutoCompleteTextView mView;

    // If non-null, this is the current filter the …
Run Code Online (Sandbox Code Playgroud)

android stringtokenizer autocompletetextview android-cursorloader

33
推荐指数
1
解决办法
1万
查看次数

ExpandableListView的SimpleCursorTreeAdapter和CursorLoader

我试图通过使用异步查询提供CursorLoaderSimpleCursorTreeAdapter

这是我Fragment实现的类CursorLoader

public class GroupsListFragment extends ExpandableListFragment implements
  LoaderManager.LoaderCallbacks<Cursor> {

  private final String DEBUG_TAG = getClass().getSimpleName().toString();      

  private static final String[] CONTACTS_PROJECTION = new String[] {
    ContactsContract.Contacts._ID,
    ContactsContract.Contacts.DISPLAY_NAME };  

  private static final String[] GROUPS_SUMMARY_PROJECTION = new String[] {
    ContactsContract.Groups.TITLE, ContactsContract.Groups._ID,
    ContactsContract.Groups.SUMMARY_COUNT,
    ContactsContract.Groups.ACCOUNT_NAME,
    ContactsContract.Groups.ACCOUNT_TYPE,
    ContactsContract.Groups.DATA_SET };

  GroupsAdapter mAdapter;

  @Override
  public void onActivityCreated(Bundle savedInstanceState) {
    super.onActivityCreated(savedInstanceState);

    populateContactList();

    getLoaderManager().initLoader(-1, null, this);
  } 

  public Loader<Cursor> onCreateLoader(int id, Bundle args) {
    // This is called when a new Loader needs …
Run Code Online (Sandbox Code Playgroud)

android expandablelistadapter simplecursoradapter android-cursorloader

22
推荐指数
1
解决办法
2万
查看次数

Fragment中的内存泄漏

我正在使用LeakCanary库来监控我的应用程序中的内存泄漏.我收到了这个内存泄漏,不知道如何追踪导致它的原因.

05-09 09:32:14.731  28497-31220/? D/LeakCanary? In com.etiennelawlor.minesweeper:0.0.21:21.
    * com.etiennelawlor.minesweeper.fragments.MinesweeperFragment has leaked:
    * GC ROOT com.google.android.gms.games.internal.GamesClientImpl$PopupLocationInfoBinderCallbacks.zzahO
    * references com.google.android.gms.games.internal.PopupManager$PopupManagerHCMR1.zzajo
    * references com.google.android.gms.games.internal.GamesClientImpl.mContext
    * references com.etiennelawlor.minesweeper.activities.MinesweeperActivity.mFragments
    * references android.app.FragmentManagerImpl.mAdded
    * references java.util.ArrayList.array
    * references array java.lang.Object[].[0]
    * leaks com.etiennelawlor.minesweeper.fragments.MinesweeperFragment instance
    * Reference Key: 2f367393-6dfd-4797-8d85-7ac52c431d07
    * Device: LGE google Nexus 5 hammerhead
    * Android Version: 5.1 API: 22
    * Durations: watch=5015ms, gc=141ms, heap dump=1978ms, analysis=23484ms
Run Code Online (Sandbox Code Playgroud)

这是我的回购:https: //github.com/lawloretienne/Minesweeper

这似乎是一个难以捉摸的.我建立了Interface一个Fragment和a之间的沟通Activity.我设置了这个mCoordinator Interface变量onAttach()然后我意识到我没有把它归零 …

android memory-leaks leakcanary

18
推荐指数
2
解决办法
4676
查看次数

深层链接、Android 应用链接、Firebase 动态链接和 App Indexing 之间的区别

以下是在导航组件中使用深层链接的说明:

https://developer.android.com/guide/navigation/navigation-deep-link

它说:

显式深层链接是使用 PendingIntent 将用户带到应用内特定位置的深层链接的单个实例。当用户通过显式深层链接打开您的应用程序时,任务返回堆栈将被清除并替换为深层链接目标。

现在的问题是Deep Links, Android App Links, App Indexing, 和之间有什么区别,Firebase Dynamic Links我们应该何时使用它们中的每一个?

另外,还有一点我们应该设置所有这些吗?

android deep-linking android-app-indexing firebase-dynamic-links

16
推荐指数
1
解决办法
3817
查看次数

在Android KitKat中接收彩信

所以来自#DevBytes的这个视频Android 4.4 SMS API解释了KitKat中SMS API的最新变化.它们还提供了与示例项目的链接.http://goo.gl/uQ3Nih

他们建议您处理服务中的MMS接收.这一切看起来都很好,除了他们忽略了提到最无证件.如何实际处理传入的MMS.

以下是项目https://gist.github.com/lawloretienne/8970938的示例

我试过"处理彩信"

https://gist.github.com/lawloretienne/8971050

我可以从意图中获取额外内容,但我能提取的唯一有意义的事情是发送MMS的号码.

任何人都可以指出我正确的方向如何去做这个?

我注意到WAP_PUSH_MESSAGE包含一些东西,FROM,SUBJECT和CONTENT_LOCATION.

内容位置似乎是包含MMS内容的URL.我该如何访问?

以下是该URL的示例

https://atl1mmsget.msg.eng.t-mobile.com/mms/wapenc?location=XXXXXXXXXXX_14zbwk&rid=027

其中X是我正在测试的设备的电话号码中的数字.

它看起来像美国的T-Mobile的MMSC(多媒体消息服务中心) http://mms.msg.eng.t-mobile.com/mms/wapenc

根据此列表:http://www.activexperts.com/xmstoolkit/mmsclist/

api service android mms android-4.4-kitkat

15
推荐指数
1
解决办法
7968
查看次数

在Android中裁剪固定大小的图像

我正在尝试裁剪图像,但我希望能够将裁剪区域设置为640px x 640px.我想阻止用户缩小到一个非常小的区域.所以基本上我宁愿为裁剪区域设置固定的高度和宽度.我已经调查了几个第三方库,但没有看到解决这个问题.我怎样才能做到这一点?

在此输入图像描述

android crop

15
推荐指数
2
解决办法
1万
查看次数

Retrofit 2.0取消Call对象

有没有人玩过Retrofit 2.0,特别是Call.cancel()方法?

什么时候触发它的最佳时机?我曾试着打电话给它onStop()Fragment,但遇到了与调用一些问题的时候,屏幕显示被关闭被取消.我也试着给它onDestroy()Fragment,但是这种方法不会取消获得的触发呼叫ViewPager(例如标签之间的切换)

有没有人有这方面的实例?

我试图实现这个我的Loop repo:https: //github.com/lawloretienne/Loop

api android request-cancelling retrofit2

15
推荐指数
1
解决办法
3963
查看次数